IE禁用Cookie后的session处理
2016-09-21 15:25
323 查看
IE禁用Cookie后解决方案:URL重写
购物车案例《IE禁用Cookie后》
购物界面ShowBook.servlet
BuyBookCl.servlet
ShowMyCart.servlet
购物车案例《IE禁用Cookie后》
购物界面ShowBook.servlet
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); //先死后活 out.println("<h1>欢迎购买</h1>"); out.println("oracle书<a href='/myCart/BuyBookCl?id=3&name=oracle' >点击购买</a></br>"); //取出Db ArrayList<Book> mydb=Db.getDb(); //访问一些session request.getSession(); for(Book book:mydb){ String url=response.encodeURL("/myCart/BuyBookCl?id="+book.getId()); //我们希望href ="/myCart/BuyBookCl?id=1&" out.println(book.getName()+"----"+book.getPrice()+"<a href='"+url+"' >点击购买</a></br>"); } }
BuyBookCl.servlet
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); @SuppressWarnings("unused") PrintWriter out = response.getWriter(); //request.getAttribute(name)接受的servlet与本身(request里面放置的属性) //浏览器发过来的(http协议相关的) String id=request.getParameter("id"); Book bookinfo=Db.getBookById(id); HttpSession session=request.getSession(); HashMap<String,Book> hm=(HashMap<String,Book>)session.getAttribute("myBooks"); //如果第一次购物al=null if(hm==null){ hm=new LinkedHashMap<String,Book>(); Book book=new Book(); book.setId(id); book.setName(bookinfo.getName()); book.setNum(1); hm.put(id,book); //al放到session中 session.setAttribute("myBooks", hm); }else{ //判断hm中是否有该书 if(hm.containsKey(id)){ //表示购买过一次 //取出 Book book=hm.get(id); int bookNum=book.getNum(); book.setNum(bookNum+1); }else{ Book book=new Book(); book.setId(id); book.setName(bookinfo.getName()); book.setNum(1); hm.put(id,book); } //更新 session.setAttribute("myBooks", hm); } //跳转到购物车 request.getRequestDispatcher("/ShowMyCart").forward(request, response); }
ShowMyCart.servlet
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); HashMap<String,Book> myBooks=(HashMap<String,Book>)request.getSession().getAttribute("myBooks"); out.println("你的购物车有以下书籍:</br>"); //out.println(myBooks); //遍历hashMap Iterator iterator=myBooks.keySet().iterator(); while(iterator.hasNext()){ String key=(String)iterator.next(); Book book=myBooks.get(key); out.println(book.getName()+"----"+book.getNum()+"</br>"); } out.println("购物车的总价是"); //这里我们也需要地址重写 String url=response.encodeURL("/myCart/ShowBook"); out.println("<a href='"+url+"'>返回购物大厅</a>"); }
相关文章推荐
- javaWeb_06-session的工作原理——IE禁用Cookie后的session处理
- Session、Session的跟踪机制、Session的超时管理、IE禁用Cookie后的session处理
- cookie禁用前后session处理的差异
- 关闭浏览器,和浏览器禁用cookie时Session处理的方法
- 浏览器禁用Cookie后的session处理
- java web-如何实现IE禁用cookie后继续使用session
- 客户端禁用cookie后 通过url传替session_id
- [PHP]如果客户端禁用cookie,session还能用吗?(终于找到了答案)
- JSP处理session与cookie研究三
- 在禁用Cookie的浏览器中使用Session
- [PHP]如果客户端禁用cookie,session还能用吗?
- 客户端禁用cookie时session解决方案[转]
- Session跟Cookie有什么关系?假如IE禁止使用Cookie,那Session还有用吗?
- PHP5薄荷教程[12]对头信息、表单、cookie和session的处理
- 客户端禁用cookie时session解决方案
- IE安全增强性无法禁用的处理过程
- 禁用 COOKIE 后 SESSION 还能不能用
- cookie被禁用了,怎样读取session值
- 技术转载(鼠标点击X窗口关闭IE的同时清空session,最基本的就是处理用户重复登陆需要用到,我想这个的关键在于如何捕捉到关闭IE这个动作,之后再根据自身的需要使用session.invalidate()或者session.removeAttribute( "xxx "))
- asp.net 删除cookies同时注销登录禁用IE后退事件 框架里处理