四大作用域
四大作用域总结
application 域 (ServletContext)
- 生命周期:web应用启动时创建,web应用销毁时销毁
- 作用范围:整个web应用
- 功能:在整个web应用中共享数据
Session 域 (HTTPSession)
- 生命周期:
创建:第一次调用request。getSessions()方法时创建。
销毁:超时销毁(默认30分钟)、主动杀死(invalidate方法)、意外身亡(服务器宕机) - 作用范围:整个会话
- 功能:在整个会发范围内共享数据
Request 域 (HttpServletRequest)
- 生命周期:一次请求开始时创建,结束时销毁。
- 作用范围:整个请求链
- 功能:在整个请求链共享数据
page 域 (pageContext)
- 生命周期:访问jsp页面时创建,访问结束时销毁
- 作用范围:当前jsp页面
- 功能:在整个jsp页面共享数据
pageContext是九大隐式对象之一,代表当前jsp页面的运行环境的对象它可以获取其他八大隐式对象。
注:其他八大隐式对象可以在jsp中直接使用,但是在el表达式中,只能通过pageContext获取。
- getPage(): 获取page隐式对象
- getRequest():获取request隐式对象
- getResponse():获取response隐式对象
- getServletConfig():获取config隐式对象
- getServletContext():获取application隐式对象
- getSession():获取session隐式对象
- getException():获取exception隐式对象
- getOut():获取out隐式对象
说明:
-
作用范围由小到大,优先级从大到小
page -> request -> session ->application -
他们能作为域对象的原因是都内置了map集合。(cookie不是域对象,其存储在本地。)