Session与Cookies

Cookies  是把用户的数据写给浏览器  保存在浏览器中  然后用户可以在浏览器中获取保存的cookies  

Session技术 使把用户的数据  写到用户独占的session中  

Session对象由服务器创建  开发人员可以调用request 的getSession方法获取  这点与cookies差不多


session 是为一个会话服务   如果分别打开2个网页   session不同步


Session  的创建与销毁  :


不是在打开浏览器时 创建的  是 调用getSession时 创建的  


Session 的销毁 是 30分钟 没人用的时候 服务器才会销毁他  即使浏览器关了 也不销毁 即使浏览器不关  30分钟后不用session 也会销毁   但这个30分钟 可以自定义 


在 web.xml中配置 : 十分钟后销毁

  <session-config>
   <session-timeout>10</session-timeout>
  </session-config>
  


在代码中销毁:

session.invalidate();

这句代码过后 session即销毁


getsession()函数有一种有参数的重载  若 参数为false  则只获取 不创建session


但是 session 浏览器关了 就会销毁   若是想让他 浏览器关了 不销毁  那么要明白session的原理  


session 是通过回写给浏览器一个cookies  id来 识别用户的session的  当然 这个cookies 没有设置 有效期  也就是浏览器关闭 就会销毁  所以 我们只要创建一个同名的cookies覆盖原有的cookies  然后设置有效期即可!  


具体代码如下:

HttpSession session = request.getSession();
		String idString = session.getId();
		Cookie cookie = new Cookie("JSESSIONID", idString);
		cookie.setMaxAge(30*60);
		cookie.setPath("/cooks");
		response.addCookie(cookie);
		session.setAttribute("history", "哈哈");
其中Cookie的名字 通过HTTPWATCH 获得   


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值