JavaWeb学习笔记(持续更新)

HttpSession的生命周期

1)什么时候创建HttpSession对象

  • JSP:若当前的JSP是客户端访问的WEB应用的第一个资源,且JSP的page指定的session属性为false,则服务器就不会为JSP创建一个HttpSession对象
  • 若当前JSP不是客户端访问的当前WEB应用的第一个资源,且其他页面已经创建了一个HttpSession对象,则服务器也不会为当前JSP页面创建一个HttpSession对象,会返回已经创建好的
  • 对于 Serlvet: 若 Serlvet 是客户端访问的第一个 WEB 应用的资源,
    则只有调用了 request.getSession() 或 request.getSession(true) 才会创建 HttpSession 对象

2)什么时候销毁HttpSession对象

  • invalidate()
  • 服务器卸载了当前WEB应用
  • 超出HttpSession的过期时间 session.setMaxIanctiveInterval(5)
  • 并不是关闭了浏览器就销毁了HttpSession

各种路径的获取方法

  • request.getContextPath():获取web应用的根路径,如web应用名为myweb,request.getContextPath() = "/myweb" 
原文地址:https://www.cnblogs.com/awomanofsin/p/7749271.html