JavaWeb笔记之Session

HttpSession的生命周期

1.创建Session对象

①对于Jsp:浏览器访问服务端的任何一个Jsp页面都会产生一个Session对象吗??

答案是不一定。

若当前的的Jsp是客户端访问的Web应用的第一个资源,且Jsp的page指定的session属性值为false,则服务器就不会为Jsp产生一个Session对象;

若当前的Jsp不是客户端访问的第一个资源,且其他页面已经创建了一个Session对象,则服务器也不会为当前Jsp页面创建一个Session 对象,而会把和当前页面会话关联的那个session对象返回给当前Jsp

②对于Servlet:若Servlet是客户端访问的第一个Web应用资源,则只有调用了request.getSession()或者request.getSession(ture)才会创建HttpSession对象

session="false"表示当前Jsp页面禁用session隐含变量!但是可以使用其他的显示Httpsession对象

③.在Servlet中获取HttpSession对象

request.getSession(boolean create):create为false,若没有和当前JSP页面关联的HttpSession对象,则返回null,若有则true,create为true,一定返回一个HttpSession对象,若没有和当前Jsp页面关联的HttpSession对象,则服务器会立刻创建一个新的HttpSession对象返回。若有,则返回关联的HttpSession对象。

④销毁HttpSesssion对象

直接调用HttpSession的invalidate()方法:该方法是HttpSession失效。

服务器卸载了当前WEB应用。

超出HttpSession的过期时间,设置Httpsession的过期时间:session.setMaxInactiveInterval(5) ;单位为秒;在web.xml文件中设置Httpsession的过期时间

并不是关闭了浏览器就销毁了HttpSession对象。

猜你喜欢

转载自blog.csdn.net/qq_33028695/article/details/81633787