The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

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

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

          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
          主站蜘蛛池模板: 思南县| 九龙城区| 昌黎县| 长阳| 精河县| 合江县| 英超| 隆子县| 望江县| 西充县| 贡嘎县| 崇仁县| 洞口县| 志丹县| 海原县| 延川县| 万山特区| 麟游县| 武功县| 四川省| 武威市| 治多县| 韶关市| 博爱县| 阿尔山市| 新绛县| 错那县| 鹿邑县| 宁都县| 玉龙| 沅陵县| 房山区| 吉首市| 崇礼县| 山东省| 镇康县| 五家渠市| 沂南县| 遂溪县| 开阳县| 托里县|