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 閱讀(460) 評論(0)  編輯  收藏 所屬分類: JSP
          主站蜘蛛池模板: 巴南区| 潍坊市| 青铜峡市| 凭祥市| 隆回县| 湖口县| 疏附县| 宿迁市| 岳阳县| 汝阳县| 老河口市| 双桥区| 剑川县| 万全县| 固阳县| 池州市| 永定县| 桦川县| 读书| 丰宁| 金沙县| 凤阳县| 忻州市| 柳林县| 巨鹿县| 岑巩县| 星子县| 镇宁| 江陵县| 静海县| 玛多县| 滁州市| 从化市| 锡林浩特市| 奈曼旗| 泌阳县| 黄大仙区| 武城县| 定结县| 杭锦旗| 汤原县|