<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-50  評論-55  文章-8  trackbacks-0

    今天測試設置和獲取Cookie遇到了一點小問題,很奇怪的問題;
    把J2ee服務部署在本地 8080端口;訪問任何一個服務時,如果客戶端沒有cookie,則下發cookie,
    ?如果客戶端已經有了該cookie的值就不下發,代碼邏輯如下:
    String uid="";
    Cookie mycookies[] = request.getCookies();
    ?if (mycookies!= null) {
    ??????????? for (int i = 0; i < mycookies.length; i++) {
    ??????????????? if ("uid".equalsIgnoreCase(mycookies[i].getName())) {
    ??????????????????? uid=mycookies[i].getValue();
    ??????????????? }
    ?????????????}
    ??????? }
    ?????if(!StringUtils.isNull(uid)){
    ????? //do nothing
    ? }else{
    ? String host=request.getHeader("host");
    ?uid=UUID.create();
    ?Cookie? mycookie = new Cookie("uid",uid);
    ?mycookie.setDomain(host);
    ?mycookie.setMaxAge(93312000);//三年
    ?response.addCookie(mycookie);
    }
    System.out.println("uid is>"+uid);
    1、訪問:
    ?? http://localhost:8080/
    ?? 以及內部的頁面,打印uid的值是相同的;符合要求
    2、訪問:
    ? http://127.0.0.1:8080
    ? 以及內部的頁面, uid每次都獲取得值都是不同的;
    兩者的區別僅僅的訪問的方式不同,如果用ip訪問
    ??Cookie mycookies[] = request.getCookies();中永遠獲取不到uid的值;
    80端口號除外

    查了瀏覽器的具體cookie值,發現
    http://localhost:8080/?訪問的時候,cookie值放在localhost下,服務器自動生成的SESSIONID也是存放在localhost路徑下。
    http://127.0.0.1:8080/ 訪問的時候,cookie uid值放在127.0.0.1:8080下,在127.0.0.1:8080下的cookie服務端的Servlet永遠都獲取不到;而服務器自動生成的SESSIONID則是在127.0.0.1下,與uid存放位置不同。

    所以在服務端下發cookie的時候,
    String host=request.getHeader("host");
    需要修改為
    if(host.indexOf(":")>-1){
    ??? ??host=host.split(":")[0];
    ??? ?}
    或者放棄設置mycookie.setDomain(host);
    這樣cookie值也是保存在127.0.0.1下的,與端口號不關聯
    ?當然是服務器已經有域名的就不會出現端口號下獲取不到cookie的值;

    posted on 2009-09-07 20:06 蔣家狂潮 閱讀(5235) 評論(1)  編輯  收藏 所屬分類: JWeb

    評論:
    # re: Servlet的Cookie值保存與獲取 2009-09-08 11:27 | 禮物吧
    原來如此  回復  更多評論
      
    主站蜘蛛池模板: 在线观看亚洲免费| 一二三四视频在线观看中文版免费| 永久免费视频v片www| 亚洲视频一区在线播放| 一区二区免费视频| 激情内射亚洲一区二区三区| 免费A级毛片无码专区| 亚洲黄色在线观看| 亚洲综合免费视频| 亚洲中文无码永久免费| 免费涩涩在线视频网| 色窝窝亚洲av网| 亚洲国产午夜福利在线播放| 国产精品九九久久免费视频| 亚洲va中文字幕无码久久不卡| 久久免费精品视频| 亚洲不卡在线观看| 国产精品嫩草影院免费| 中文字幕av免费专区| 亚洲视频在线观看一区| 日韩精品成人无码专区免费 | 亚洲无人区码一二三码区别图片| 毛色毛片免费观看| 免费一级特黄特色大片| 亚洲成av人片在线观看无码不卡| 97在线视频免费| 亚洲日韩国产一区二区三区在线 | 亚洲精品无码99在线观看| 青青操免费在线视频| 亚洲毛片免费视频| 日本无卡码免费一区二区三区| 精精国产www视频在线观看免费| 日本久久久久亚洲中字幕| 日韩电影免费在线观看视频| 国产日韩久久免费影院| 久久亚洲美女精品国产精品| 成在线人永久免费视频播放| 中文字幕无码免费久久9一区9 | 久久精品国产亚洲AV无码娇色 | 亚洲婷婷五月综合狠狠爱| 成人黄色免费网址|