JavaWeb四大作用域详解

60 阅读1分钟

1. ServletContext域(application)

ServletContext:整个web应用对象

1.1 生命周期

web应用被Tomcat服务器加载时,ServletContext对象产生,生命周期开始; web应用被移除容器或者Tomcat服务器关闭,ServletContext对象销毁,生命周期结束。

1.2 作用范围

整个web应用

1.3 主要功能

在整个web应用范围内共享数据

2. Session域(Session)

Session:整个会话对象

2.1 生命周期

当调用request.getSession()时,Session对象被创建。生命周期开始; 调用session.invalidate()方法销毁Session对象

在设定的时间内,Session对象没有被使用,则Session对象被销毁。默认为30分钟;

当服务器意外关闭的时候,Session对象被销毁。当服务器正常关闭的时候,Session对象中仍有数据,则会序列化到磁盘上形成一个文件,这个过程称之为钝化。在服务器再次启动的时候,这个文件会被重新读取到服务器中使用,这个过程称之为活化。

2.2 作用范围

整个会话范围

2.3 主要功能

在会话范围内共享数据

3. request域(request)

request:请求的对象

3.1 生命周期

请求链开始,request对象被创建;

请求链结束,request对象销毁。

3.2 作用范围

整个请求链

3.3 主要功能

在请求链内共享数据

4. pageContext域(pageContext)

pageContext:当前页面的对象

4.1 生命周期

在访问jsp页面时,pageContext对象产生,生命周期开始;

在结束访问jsp页面时,pageContext对象销毁,生命周期结束。

4.2 作用范围

整个JSP页面

4.3 主要功能

在JSP页面内共享数据