【JavaWeb】cookie与session
2012-11-01 09:30
387 查看
cookie是客户端保存数据
session 是服务器端保存数据
session 其实是基于cookie的 第一次访问服务器,服务器后台会记录一个id号,把信息放到一个
名为JESSIONID的cookie中回传给浏览器,下次在访问的时候会带着该cookie访问服务器
用户购买书籍:
Session session = request.getSession();
//这样即使关闭浏览器,在重新打开,原来购买的数据还会显示。
Cookie cookie = new Cookie("JSESSIONID",session.getId());
cookie.setMaxAge(30*60);//三十分钟
cookie.setPath("/test");//当访问整个web应用的时候都带上cookie
response.addCookie(cookie);
List list = (List)session.getAttribute("case");
if (list == null){
list = new ArrayList();
session.setAttribute("case",list);
}
list.add(Book);
respinse.sendRedirect(......);//重定向
==============================================================================
显示用户购物车:
//这里如果你禁用Cookie.则request.getSession就是一个全新的session这时在调用getAttribute
//方法就会报异常,因为此时获取不到JESSIONID中的数据。此时就应该用URL重写。
//URL地址重写就会附带JESSIONid号传过去。
List<Book> list = request.getSession().getAttribute("case");
for(Book book : list){
response.getWriter.out(book.getName);
}
//URL重写需要注意:
1:要把网站涉及到的所有的url地址都要重写,这样就不会买一样丢一样了。
2:在重写URL的时候看是否创建了session,只有在上面request.getSession();创建session,才会在url重写的时候附带jessionid.
request.getSession();
String url = "/test/servlet/BuyServlet?id=" + book.getId();
url = response.encodeURL(url);//只有在上面request.getSession();创建session,才会在url重写的时候附带jessionid.
out.write(book.getName() + "<a href='"+url+"' target='_blank'>购买</a><br/>");
3:禁用cookie之后,关闭浏览器,在重新打开,用URL重写这种方案是不会看到原来购买的商品的。
4:细节:response.encodeURL(url);重写的这个方法,如果禁用cookie该方法会重写URL,如果没有禁用cookie则不会重写URL。
session 是服务器端保存数据
session 其实是基于cookie的 第一次访问服务器,服务器后台会记录一个id号,把信息放到一个
名为JESSIONID的cookie中回传给浏览器,下次在访问的时候会带着该cookie访问服务器
用户购买书籍:
Session session = request.getSession();
//这样即使关闭浏览器,在重新打开,原来购买的数据还会显示。
Cookie cookie = new Cookie("JSESSIONID",session.getId());
cookie.setMaxAge(30*60);//三十分钟
cookie.setPath("/test");//当访问整个web应用的时候都带上cookie
response.addCookie(cookie);
List list = (List)session.getAttribute("case");
if (list == null){
list = new ArrayList();
session.setAttribute("case",list);
}
list.add(Book);
respinse.sendRedirect(......);//重定向
==============================================================================
显示用户购物车:
//这里如果你禁用Cookie.则request.getSession就是一个全新的session这时在调用getAttribute
//方法就会报异常,因为此时获取不到JESSIONID中的数据。此时就应该用URL重写。
//URL地址重写就会附带JESSIONid号传过去。
List<Book> list = request.getSession().getAttribute("case");
for(Book book : list){
response.getWriter.out(book.getName);
}
//URL重写需要注意:
1:要把网站涉及到的所有的url地址都要重写,这样就不会买一样丢一样了。
2:在重写URL的时候看是否创建了session,只有在上面request.getSession();创建session,才会在url重写的时候附带jessionid.
request.getSession();
String url = "/test/servlet/BuyServlet?id=" + book.getId();
url = response.encodeURL(url);//只有在上面request.getSession();创建session,才会在url重写的时候附带jessionid.
out.write(book.getName() + "<a href='"+url+"' target='_blank'>购买</a><br/>");
3:禁用cookie之后,关闭浏览器,在重新打开,用URL重写这种方案是不会看到原来购买的商品的。
4:细节:response.encodeURL(url);重写的这个方法,如果禁用cookie该方法会重写URL,如果没有禁用cookie则不会重写URL。
相关文章推荐
- java_web初学笔记之<Session与Cookie>
- javaWeb中Cookie,Session原理
- JavaWeb开发Cookie和Session
- java_web学习第五天(会话-Cookie和Session)
- Java Web中cookie和session详解
- Java-Web学习笔记(1) Session与Cookie
- JavaWeb_Cookie与Session
- JavaWeb--Session、Cookie
- Java Web Application使Session永不失效(利用cookie隐藏登录)
- javaWeb-Cookie和Session
- JavaWeb之会话技术Cookie&Session
- JavaWeb之Cookie_Session
- java web——Session/Cookie/Servlet 详解
- javaweb入门笔记(5)-cookie和session
- 【Java.Web】Session V.S. Cookie
- JAVA web - Cookie和Session详解、JSP概述
- JavaWeb基础---Cookie和Session
- JavaWeb——Cookie,Session学习汇总
- Javaweb之cookie和session
- JavaWeb开发中的会话技术[Cookie/Session]