java零到一:Servlet和JSP-8:用户禁cookie后如何使用session和session的优缺点

1、用户禁止cookie,如何继续使用session ?

  (1) 当用户禁止cookie以后,服务器仍然会发送sessionId
   (以set-cookie消息头的方式),但是,浏览器会拒绝接受,这样,
   session机制会失效。

  (2) 可以使用url重写来解决该问题
 
     a、什么是url重写
          如果某个组件需要session机制的支持,则不能直接使用该组件的
        地址访问,而应该使用服务器生成的组件的地址(会在组件的地址后面
        添加sessionId)去访问。
 
     b、如何重写
         //用在链接地址,表单提交地址。
           response.encodeURL(String url);
         //用于重定向
           response.encodeRedirectURL(String str);
           比如:
                 response.sendRedirct(response.encodeRedirectURL("list.jsp"));
           转发不要考虑。


2、  session的优缺点
    优点:
      session相对安全
      session能够保持的数据类型更丰富
      session能够保持的数据大小更大

    缺点:
      session 需要将所有数据写在服务端,所以,
    服务器会占用过多的内存空间。可以考虑使用
    cookie来代替或者使用数据库来保存状态(即数据) 。

猜你喜欢

转载自blog.csdn.net/kerryqpw/article/details/104081160