浏览器禁用Cookie后的Session处理


1. 实现购物车, 可以基于Cookie, 也可以基于Session, 若服务器性能较差, 可以考虑基于Cookie实现购物车

2. 解决方案: URL重写

把用户可能点的每一个超链接后面,都跟上用户的sessionid号

1) 对sendRedirect方法后的URL地址进行重写

response.encodeRedircetURL(url);

2) 对表单或超链接的URL地址进行重写

response.encodeURL(url);

3. 案例

1) 重写超链接的URL地址

1 out.write("本网站有如下书:<br/>");
2 Set<Map.Entry<String,Book>> set = DB.getAll().entrySet();
3 for(Map.Entry<String,Book> me : set){
4     Book book = me.getValue();
5     String url = "/day07/servlet/BuyServlet?id=" + book.getId();
6     url = response.encodeURL(url);
7     out.println(book.getName()  + "   <a href='"+url+"'>购买</a><br/>");
8 }

2) 重写sendRedirect方法的URL地址

1 HttpSession session = request.getSession();
2 String url = response.encodeRedirectURL("/day07/servlet/ListCartServlet");
3 response.sendRedirect(url);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM