当cookie被禁用时,如何处理?
禁用时在浏览网页过程中会出现那些情况呢?
1.比如在登陆页面上,如何也登陆不上去,显示登陆超时
2.还有就是在网站中对自己用户的数据无法正常进行操作
3.客户端禁用Cookie对http://localhost访问的无效(针对程序员)
4.客户端禁用Cookie对http://IP地址+端口+项目名称访问的被禁用Cookie
编程代码如何避免这个问题(针对程序员),普通客户端只需要把那个Cookie禁用改为接受就可以了
很简单,只需要在每次进行地址转发的时候,加上地址重写就可以了。
url---->url;JSESSIONID=123:URL重写.必须对网站中的所有URL地址都重写。
HttpServletResponse.encodeURL(url):是一个智能方法。判断用户是否禁用了Cookie,没有禁用,则不重写;禁用了就重写。
举个例子1
- <span style="white-space:pre"> </span>request.getSession();
- String url = "/day08/servlet/ShowCartServlet";
- url = response.encodeURL(url);
- out.write("<a href='"+url+"'>查看购物车</a>");
例子2
encodeurl.jsp中包含如下代码:
- <a href="<%%= response.encodeURL("TEST.JSP")>" />
当浏览器请求访问 encodeurl.jsp 文件时,如果当前JSP页面支持Session,并且浏览器不支持Cookie,则上面的链接被解析为如下形式:
- <a href="TEST.JSP;jsessionid=9549349941565F01191DB6F290F68EF" />
原文地址:
http://blog.csdn.net/robinjwong/article/details/39848605
http://blog.csdn.net/mr_li13/article/details/48896353