四个域对象分别是:
| 域对象 | 作用范围 |
|---|---|
| pageContext | 当前 jsp 页面范围内有效 |
| request | 一次请求内有效 |
| session | 一个会话范围内有效(打开浏览器访问服务器,直到关闭浏览器) |
| application | 整个 web 工程范围内都有效(只要 web 工程不停止,数据都在) |
存取数据
域对象是可以像 Map 一样存取数据的对象。四个域对象功能一样,不同的是它们对数据的存取范围。
存数据
<%
pageContext.setAttribute("key", "pageContext");
request.setAttribute("key", "request");
session.setAttribute("key", "session");
application.setAttribute("key", "application");
%>
取数据
<%
pageContext.getAttribute("key");
request.getAttribute("key");
session.getAttribute("key");
application.getAttribute("key");
%>
优先顺序
虽然四个域对象都可以存取数据。在使用上它们是有优先顺序的。四个域在使用的时候,优先顺序分别是,他们从小到大的范围的顺序。
pageContext ====>>> request ====>>> session ====>>> application
本文详细介绍了Servlet中pageContext、request、session和application四个域对象的作用范围以及它们的数据存取。pageContext局限于当前JSP页面,request在一次请求内有效,session覆盖一个完整的会话周期,而application则在整个Web工程运行期间保持数据。存取数据的方法是通过setAttribute和getAttribute方法。在使用时,域对象的优先级为pageContext > request > session > application。了解这些概念对于优化Web应用程序的性能至关重要。
1216

被折叠的 条评论
为什么被折叠?



