Cookie HttpSession 学习笔记

来源:互联网 发布:金数据登录 编辑:程序博客网 时间:2024/05/05 03:01
  1. Cookie保存在客户端,session保存在服务端,都具有唯一性。
  2. 找到相应的cookie, 或者上传cookie。
Cookie cs[] = request.getCookies();for(int i = 0; cs!=null&&i<cs.length; ++i){    if("name".equals(cs[i].getName()))}Cookie c = new Cookie(,);response.addCookie(c);

3 . 令cookie的maxAge为0则命令浏览器删除这个cookie,利用domain+path+name唯一定位,同一个应用中domain+path相同。
4. HttpSession对象通过request.getSession()得到session,类似的还有getAttribute,setAttribute,removeAttribut等方法,通过cookie中的sessionId来实现唯一性,getSession(boolean b)b这个参数如果是false,服务器找不到也不会新建。
5. 利用HttpSession.invalidate()//使session对象失效。
6. 利用前端disabled使按钮失效放置重复提交,但是治标不治本,在隐藏的input中设置一个参数去匹配在session中的参数,当提交一次后删除session的参数则之后会匹配失败。

String token = UUID.randomUUID().toString();

7 .如果浏览器禁用cookie,在每一个链接后面加上JSESSIONID=XXX。response.encodeURL(url)完成了这个工作,自动重写,如果没有禁用cookie则不会在链接后添加相应的sessionId。注意提前getSession生成session对象。
8. HttpSession对象通过invalidate手动销毁或者超时,默认30分钟,在web.xml中可以设置。
9. 搁置(钝化),访问量很大或者服务器重启时,将内存中的对象存到磁盘上。
10. 将需要在session中保存的类添加序列化的接口,在重启时即可保存相应的数据,

public class Book implements Serializable{}
1 0
原创粉丝点击