Servlet 生命周期
2017-08-04 00:00
267 查看
1. HttpSession 的生命周期:
1). 什么时候创建 HttpSession 对象
①. 对于 JSP: 是否浏览器访问服务端的任何一个 JSP, 服务器都会立即创建一个 HttpSession 对象呢?
不一定。
> 若当前的 JSP 是客户端访问的当前 WEB 应用的第一个资源,且 JSP 的 page 指定的 session 属性值为 false,
则服务器就不会为 JSP 创建一个 HttpSession 对象;
> 若当前 JSP 不是客户端访问的当前 WEB 应用的第一个资源,且其他页面已经创建一个 HttpSession 对象,
则服务器也不会为当前 JSP 页面创建一个 HttpSession 对象,而回会把和当前会话关联的那个 HttpSession 对象返回给当前的 JSP 页面.
②. 对于 Serlvet: 若 Serlvet 是客户端访问的第一个 WEB 应用的资源,
则只有调用了 request.getSession() 或 request.getSession(true) 才会创建 HttpSession 对象
2). page 指令的 session=“false“ 到底表示什么意思?
> 当前 JSP 页面禁用 session 隐含变量!但可以使用其他的显式的 HttpSession 对象
3). 在 Serlvet 中如何获取 HttpSession 对象?
> request.getSession(boolean create):
create 为 false, 若没有和当前 JSP 页面关联的 HttpSession 对象, 则返回 null; 若有, 则返回 true
create 为 true, 一定返回一个 HttpSession 对象. 若没有和当前 JSP 页面关联的 HttpSession 对象, 则服务器创建一个新的
HttpSession 对象返回, 若有, 直接返回关联的.
> request.getSession(): 等同于 request.getSession(true)
4). 什么时候销毁 HttpSession 对象:
①. 直接调用 HttpSession 的 invalidate() 方法: 该方法使 HttpSession 失效
②. 服务器卸载了当前 WEB 应用.
③. 超出 HttpSession 的过期时间.
> 设置 HttpSession 的过期时间: session.setMaxInactiveInterval(5); 单位为秒
> 在 web.xml 文件中设置 HttpSession 的过期时间: 单位为 分钟.
<session-config>
<session-timeout>30</session-timeout>
</session-config>
④. 并不是关闭了浏览器就销毁了 HttpSession.
1). 什么时候创建 HttpSession 对象
①. 对于 JSP: 是否浏览器访问服务端的任何一个 JSP, 服务器都会立即创建一个 HttpSession 对象呢?
不一定。
> 若当前的 JSP 是客户端访问的当前 WEB 应用的第一个资源,且 JSP 的 page 指定的 session 属性值为 false,
则服务器就不会为 JSP 创建一个 HttpSession 对象;
> 若当前 JSP 不是客户端访问的当前 WEB 应用的第一个资源,且其他页面已经创建一个 HttpSession 对象,
则服务器也不会为当前 JSP 页面创建一个 HttpSession 对象,而回会把和当前会话关联的那个 HttpSession 对象返回给当前的 JSP 页面.
②. 对于 Serlvet: 若 Serlvet 是客户端访问的第一个 WEB 应用的资源,
则只有调用了 request.getSession() 或 request.getSession(true) 才会创建 HttpSession 对象
2). page 指令的 session=“false“ 到底表示什么意思?
> 当前 JSP 页面禁用 session 隐含变量!但可以使用其他的显式的 HttpSession 对象
3). 在 Serlvet 中如何获取 HttpSession 对象?
> request.getSession(boolean create):
create 为 false, 若没有和当前 JSP 页面关联的 HttpSession 对象, 则返回 null; 若有, 则返回 true
create 为 true, 一定返回一个 HttpSession 对象. 若没有和当前 JSP 页面关联的 HttpSession 对象, 则服务器创建一个新的
HttpSession 对象返回, 若有, 直接返回关联的.
> request.getSession(): 等同于 request.getSession(true)
4). 什么时候销毁 HttpSession 对象:
①. 直接调用 HttpSession 的 invalidate() 方法: 该方法使 HttpSession 失效
②. 服务器卸载了当前 WEB 应用.
③. 超出 HttpSession 的过期时间.
> 设置 HttpSession 的过期时间: session.setMaxInactiveInterval(5); 单位为秒
> 在 web.xml 文件中设置 HttpSession 的过期时间: 单位为 分钟.
<session-config>
<session-timeout>30</session-timeout>
</session-config>
④. 并不是关闭了浏览器就销毁了 HttpSession.
相关文章推荐
- Servlet的生命周期
- Servlet生命周期
- 实验说明Servlet的生命周期
- Java面试经典:Servlet生命周期
- Servlet 介绍 执行流程 生命周期 启动项配置
- Servlet 生命周期详解
- Servlet的生命周期 容器的基本工作原理
- Servlet调用过程和生命周期
- servlet配置方法及其生命周期详解
- Servlet规范定义的Servlet 生命周期
- Servlet的生命周期
- 面试题——Servlet的生命周期
- Servlet的生命周期
- servlet程序开发===servlet生命周期
- Servlet生命周期,工作原理
- Servlet的生命周期
- Servlet的生命周期01
- servlet的生命周期、解决乱码的方式和get方式提交与post方式提交的区别 学习笔记
- servlet的执行原理与生命周期
- 【学习摘记】马士兵Servlet&JSP_课时5_测试Servlet生命周期的4个函数先后调用的顺序