JavaWeb學習記錄(十五)——瀏覽器Cookie禁用后的處理


IE禁用Cookie方式:

例一:

demo.do相關代碼

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpSession session=request.getSession();
        String jsessionid=session.getId();
        Cookie sessionCookie=new Cookie("JSESSIONID", jsessionid);
        session.setAttribute("name", "zzz");
        String url=response.encodeRedirectURL("./demo2.do");
        response.sendRedirect(url);
    }

demo2.do相關代碼

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpSession session = request.getSession();

        // 獲取session的id
        String jsessionid = session.getId();
        
        System.out.println(session.getAttribute("name"));
    }

輸入地址http://127.0.0.1:8080/cookie/demo.do

結果

地址欄結果:

http://127.0.0.1:8080/cookie/demo2.do;jsessionid=D2B0058380743E3731D50C49E6355144

HttpWatch結果:

控制台有輸出為zzz

例二:

demo.do代碼

  response.setContentType("text/html;charset=UTF-8");
        
        PrintWriter out = response.getWriter();
        
        out.println("<html>");
        out.println("<body>");
        //String url=response.encodeURL("./demo2.do");
        out.println("<a href='./demo2.do'>加入購物車</a>");
        out.println("<body>");
        out.println("</html>");

demo1.do 相關不變

結果與例一類似

說明:

(一)、再禁用cookie后 應該采用 ip地址訪問 http://172.16.237.247:8080/web_11/goods.do?oper=detailCart

(二)、
¨演示禁用Cookie后servlet共享數據導致的問題。
¨解決方案:URL重寫
  response. encodeRedirectURL(java.lang.String url)

    用於對sendRedirect方法后的url地址進行重寫。

  response. encodeURL(java.lang.String url)

    用於對表單action和超鏈接的url地址進行重寫

¨附加:
  Session的失效
  Web.xml文件配置session失效時間


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM