JavaWeb学习笔记——Session
2016-05-03 19:40
621 查看
1. Session 的创建和销毁
page 指定的 session 属性:
1). 默认情况下, 第一次访问一个 WEB 应用的一个 JSP 页面时, 该页面都必须有一个和这个请求相关联的 Session 对象.
因为 page 指定的 session 属性默认为 true
2). 若把 session 属性改为 false, JSP 页面不会要求一定有一个 Session 对象和当前的 JSP 页面相关联
所以若第一次访问当前 WEB 应用的 JSP 页面时, 就不会创建一个 Session 对象.
3). 创建一个 Session 对象: 若 page 指定的 session 设置为 false 或 在 Servlet 中可以通过以下 API 获取 Session 对象.
request.getSession(flag): 若 flag 为 true, 则一定会返回一个 HttpSession 对象, 如果已经有和当前 JSP 页面关联的 HttpSession
对象, 直接返回; 如果没有, 则创建一个新的返回. flag 为 false: 若有关联的, 则返回; 若没有, 则返回 null
request.getSession(): 相当于 request.getSession(true);
4). Session 对象的销毁:
①. 直接调用 HttpSession 的 invalidate()
②. HttpSession 超过过期时间.
> 返回最大时效: getMaxInactiveInterval() 单位是秒
> 设置最大时效: setMaxInactiveInterval(int interval)
> 可以在 web.xml 文件中配置 Session 的最大时效, 单位是分钟.
<session-config>
<session-timeout>30</session-timeout>
</session-config>
③. 卸载当前 WEB 应用.
注意: 关闭浏览器不会销毁 Session!
page 指定的 session 属性:
1). 默认情况下, 第一次访问一个 WEB 应用的一个 JSP 页面时, 该页面都必须有一个和这个请求相关联的 Session 对象.
因为 page 指定的 session 属性默认为 true
2). 若把 session 属性改为 false, JSP 页面不会要求一定有一个 Session 对象和当前的 JSP 页面相关联
所以若第一次访问当前 WEB 应用的 JSP 页面时, 就不会创建一个 Session 对象.
3). 创建一个 Session 对象: 若 page 指定的 session 设置为 false 或 在 Servlet 中可以通过以下 API 获取 Session 对象.
request.getSession(flag): 若 flag 为 true, 则一定会返回一个 HttpSession 对象, 如果已经有和当前 JSP 页面关联的 HttpSession
对象, 直接返回; 如果没有, 则创建一个新的返回. flag 为 false: 若有关联的, 则返回; 若没有, 则返回 null
request.getSession(): 相当于 request.getSession(true);
4). Session 对象的销毁:
①. 直接调用 HttpSession 的 invalidate()
②. HttpSession 超过过期时间.
> 返回最大时效: getMaxInactiveInterval() 单位是秒
> 设置最大时效: setMaxInactiveInterval(int interval)
> 可以在 web.xml 文件中配置 Session 的最大时效, 单位是分钟.
<session-config>
<session-timeout>30</session-timeout>
</session-config>
③. 卸载当前 WEB 应用.
注意: 关闭浏览器不会销毁 Session!
相关文章推荐
- java中栈和堆区别
- JavaWeb学习笔记——JSP(2)
- 掌握java中的三种代码块的定义及使用
- java数组与集合的转换
- Java连MySQL的驱动mysql-connector-java-5.1.21-bin.jar的安装方法
- JavaWeb学习笔记——JSP
- Java中equals和==的区别
- JavaWeb学习笔记——servlet
- Java 类中各成分加载顺序 和 内存中的存放位置
- Java前辈:学习J2EE流程中的经验和教训
- 多线程并发库高级应用 之 java5中的线程并发库--线程锁技术
- [Java]二叉树简要解析(持续学习和整理)
- 举例说明一个 java程序的加载,初始化以及运行过程
- java多线程并发库高级应用 之 多个线程之间共享数据的方式探讨
- java多线程并发库高级应用 之 其它同步工具类
- java多线程并发库高级应用 之 java5中的线程并发库--线程池、Callable&Future
- java多线程并发库高级应用 之 线程范围内共享数据
- 6.jdk命令行工具
- 1.深入理解java集合List
- 《java入门第一季》二维数组三个案例详解