Servlet 三大域对象
项目 | Value |
---|---|
request | HttpServletRequest |
session | HttpSession |
application | ServletContext |
在多个servlet/jsp之间进行数据传递共享(域对象)
域对象: 用来存储数据的对象,存储的数据有着作用范围
特点: 都可以作为容器,存储数据
共同的API:
void setAttribute(String name, Object o) 存储数据
Obeject getAttribute(String name,) 获取数据
void removeAttribute(String name) 移除数据据
application(ServletContext)生命周期
创建:服务器启动就创建ServletContext对象
销毁:服务器关闭就销毁ServletContext对象
数据作用域:在整个项目下的servlet/jsp都能共享数据
注意:整个项目只有一个ServletContext对象
request生命周期
创建:请求一次,创建一次request对象
销毁:响应回去,该request对象被销毁
数据作用域:一次请求多次转发中的servlet/jsp才能共享数据
注意:只有在一次请求多次转发中用的才是用一个request对象
session生命周期
创建:服务器端第一次调用getSession();(保存在服务器内存中)
销毁:1. 项目1非正常关闭服务器(正常关闭session会序列化,再次启动服务
器session会被反序列化);
2. session过期了默认30分钟.
3. 手动调用session.invalidate();
数据作用域:用户打开浏览器会话开始,直到关闭浏览器会话才会结束。
一次会话期间只会创建一个session对象。
注意:关闭浏览器再次访问会找不到session的会话id而不是session被销毁了