HttpSession的生命周期和何时销毁

HttpSession的生命周期和何时销毁HttpSession生命周期:1.什么时候创建HttpSession1).对于JSP:是否浏览器访问服务端的任何一个JSP或Servlet,服务器都会立即创建一个HttpSession对象呢?不一定。①.若当前的JSP或(Servlet)是客户端访问的当前WEB应用的第一个资源,且JSP的page指定的session属性为false,则服务器就不会为JSP创建一个HttpSess…

大家好,又见面了,我是你们的朋友全栈君。

HttpSession生命周期:
1.什么时候创建HttpSession
1).对于JSP:
是否浏览器访问服务端的任何一个JSP或Servlet,服务器都会立即创建一个HttpSession对象呢?
不一定。 
①. 若当前的JSP或(Servlet)是客户端访问的当前WEB应用的第一个资源,且JSP的page指定的
session属性为false,则服务器就不会为JSP创建一个HttpSession对象;
②.若当前JSP不是客户端访问的当前WEB应用的第一个资源,且其他页面已经创建一个HttpSession对象,
则服务器也不会为当前JSP创建一个新的HttpSession对象,而会把和当前会话关联的那个HttpSession对象返回给当前的JSP页面。
2).page指令的session=”false” 到底表示什么意思:
当前JSP页面禁用session隐含变量!但可以使用其他的显式的对象
3).对于Servlet而言:
若Servlet是客户端访问的第一个WEB应用的资源,则只有调用了request.getSession()或request.getSession(true)  才会创建HttpSession对象
 
4). 在Servlet中如何获取HttpSession对象?
request.getSession(boolean create):create为false,若没有和当前JSP页面关联的HttpSession对象
则返回null;
若有返回true  create为true一定返回一个HTTPSession对象。若没有和昂前JSP页面关联的HttpSession对象,
则服务器创建一个新的HttpSession对象返回,若有,则直接返回关联。

request.getSession()等同于request.getSession(true) 

2.什么时候销毁HttpSession对象:
 1).直接调用HttpSession的invalidate()方法:使Httpsession失效
 2).服务器卸载了当前WEB应用。
 3).超出HttpSession的过期时间。
 设置HttpSession的过期时间:单位为S

	session.setMaxInactiveInterval(5);
	out.print(session.getMaxInactiveInterval());	

在web.xml文件中设置HttpSession过期时间。

	 <session-config>
        <session-timeout>30</session-timeout>
    </session-config>	

系统默认30分钟

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158104.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java面试题:voliate底层原理——详解

    java面试题:voliate底层原理——详解1.voliate底层原理1.1voliate变量的特点可见性:当一个线程修改了声明为volatile变量的值,新值对于其他要读该变量的线程来说是立即可见的。有序性:volatile变量的所谓有序性也就是被声明为volatile的变量的临界区代码的执行是有顺序的,即禁止指令重排序。受限原子性:volatile变量不可保证原子性1.2voliate如何实现变量多线程安全?实际上,voliate实现多线程情况下的变量安全其实就是通过以下两个方式:1)实现变量可见性2)禁止指令重

    2022年5月22日
    70
  • 【Hibernate】uniqueResult方法「建议收藏」

    【Hibernate】uniqueResult方法「建议收藏」数据库中根据你的查询条件只会返回唯一结果,就可以用uniqueResult这个方法!否则就用list();其返回类型为Object uniqueResult()方法通常是在业务方法查询语句中用到的,比如(UsersRoles)getSession().createQuery(“selecturfromUsersRolesurwhereur.role.id=?andur.

    2025年10月22日
    3
  • Yii2 redis同步数据到mysql

    Yii2 redis同步数据到mysql

    2022年4月2日
    46
  • mysql timestampdiff>_MySQL TIMESTAMPDIFF()用法及代码示例

    mysql timestampdiff>_MySQL TIMESTAMPDIFF()用法及代码示例TIMESTAMPDIFF():MySQL中的此函数用于从另一个函数中减去DateTime表达式后返回一个值。用法:TIMESTAMPDIFF(unit,expr1,expr2)Parameters:它将接受三个参数。单位-它表示结果的单位。可以是以下之一。微秒,秒,分钟,小时,天,周,月,季度,年expr1-第一个日期或DateTime表达式。expr2-第二个日期或DateTime表达式。返回…

    2022年6月5日
    38
  • awk中使用shell命令_awk引用变量

    awk中使用shell命令_awk引用变量awk 系列Part11:如何让 awk 使用 Shell 变量

    2022年4月22日
    132
  • idea2022.01.12mybatiscodehelperpro激活码(JetBrains全家桶)[通俗易懂]

    (idea2022.01.12mybatiscodehelperpro激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4KDDGND3CI-eyJsaWN…

    2022年4月1日
    157

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号