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来代替或者使用数据库来保存状态(即数据) 。