码迷,mamicode.com
首页 > 其他好文 > 详细

Session

时间:2015-10-21 15:34:10      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

一、Session的简介:

  在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因 此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的 session中取出该用户的数据,为用户服务。

二、Session和Cookie对象的区别:

  • Cookie是把用户的数据写给用户的浏览器。
  • Session技术把用户的数据写到用户独占的session中。
  • Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。

三、Session的生命周期:

A、什么时候产生Session

  只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session,可调用request.getSession(true)强制生成Session。

B、什么时候销毁:

  1. 服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。Tomcat中Session的默认失效时间为30分钟。

  2. 调用Session的invalidate方法。

四、Session的getSession()的方法

  Request.getSession();//可以创建session

  Request.getSession(false);//只会调用session

五、Session的实现原理:

  服务器创建session出来后,会把session的id号,以cookie的形式回写给客户机,这样,只要客户机的浏览器不关,再去访问服务器时,都 会带着session的id号去,服务器发现客户机浏览器带session id过来了,就会使用内存中与之对应的session为之服务。但是,cookie的有效时间是没有设置的,通过覆盖方法,可以通过以下方法解决.

技术分享

 

//获取session的Id
String sessionId = session.getId();
//将session的Id存储到名字为JSESSIONID的cookie中
Cookie cookie = new Cookie("JSESSIONID", sessionId);
//设置cookie的有效路径
cookie.setMaxAge(1800);
cookie.setPath(request.getContextPath());
response.addCookie(cookie);

 

Session

标签:

原文地址:http://www.cnblogs.com/lyjs/p/4897788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!