The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          盡管我所知道的瀏覽器都支持cookie的設(shè)置,不過用戶可以有意識的將它關(guān)閉,或者無意識的將它關(guān)閉。當(dāng)你在你的servlets/JSP頁面中使用cookie時,你不能保證用戶的瀏覽器是否可以接受cookie--你需要先檢查一下。這兒有一個檢查用戶的瀏覽器的cookie是否有效的小技巧。

          這個技巧很簡單。你從servlet或JSP向用戶的瀏覽器發(fā)出一個HTTP回應(yīng),強行使瀏覽器在第二次返回。在第一次的響應(yīng)中,你發(fā)出一個cookie。當(dāng)瀏覽器第二次返回的時候,檢查上一次發(fā)出的cookie。如果cookie存在,說明瀏覽器的cookie功能可用。否則說明用戶的瀏覽器太老,不支持cookie,或者瀏覽器的cookie功能被關(guān)閉。

          JSP頁面用下面這段代碼檢查cookie是否有效。如果有效,那么頁面的返回字符串為“Cookie is on”.若無效則為“Cookie is off”:

          <%
            if (request.getParameter("flag")==null) {
              // the first request
              Cookie cookie = new Cookie("cookieSetting", 
          "on");
              response.addCookie(cookie);
              String nextUrl = request.getRequestURI() + 
          "?flag=1";
              // force the browser to refresh
              out.println("<META HTTP-EQUIV=Refresh 
          CONTENT=0;URL=" + nextUrl +">");
            }
            else {
              // the second request
              Cookie[] cookies = request.getCookies();
              boolean cookieFound = false;
              if (cookies!=null) {
                int length = cookies.length;
                for (int i=0; i<length; i++) {
                  Cookie cookie = cookies[i];
                  if 
          (cookie.getName().equals("cookieSetting") &&
                    cookie.getValue().equals("on")) {
                    cookieFound = true;
                    break;
                  }
                }
              }
              if (cookieFound) {
                out.println("Cookie is on.");
              }
              else {
                out.println("Cookie is off.");
              }
            }
          %>
          posted on 2013-12-25 16:39 Eric_jiang 閱讀(464) 評論(0)  編輯  收藏 所屬分類: JSP
          主站蜘蛛池模板: 锦屏县| 伊川县| 永宁县| 衡阳县| 鄢陵县| 文化| 高邮市| 泾阳县| 邳州市| 陆良县| 黔南| 定西市| 关岭| 基隆市| 鞍山市| 冀州市| 托克托县| 霞浦县| 长沙市| 依安县| 绥中县| 浪卡子县| 白沙| 布尔津县| 元阳县| 望江县| 琼中| 莱西市| 彩票| 光山县| 游戏| 克山县| 蒲江县| 馆陶县| 古田县| 澄江县| 新疆| 济阳县| 泗水县| 白玉县| 盐津县|