jsp 中的“页面范围”是什么?
JSP 中具有以下作用域:
- 页面范围
- 请求范围
- 会话范围
- 应用范围
我对页面范围感到困惑。谁能告诉我这个页面的范围是什么?我没有在任何地方找到它的明确定义。
JSP 中具有以下作用域:
我对页面范围感到困惑。谁能告诉我这个页面的范围是什么?我没有在任何地方找到它的明确定义。
page
scope意味着,它可以被认为是一个表示整个JSP页面的对象,即JSP对象只能从创建它的同一页面中访问。
页面对象实际上是该对象的直接同义词。
注意:this
页面范围和请求范围(经常令人困惑)之间的主要区别在于,如果将请求转发到另一个 JSP 页面,而作为请求范围属性可用,则页面范围属性不再可用。
页面作用域指示,除了绑定到局部变量之外,在当前请求期间,Bean 对象还应放置在 javax.servlet.jsp.PageContext
对象中。
根据阿拉马拉朱(2004年):
JSP 为 JSP 作者可以使用的对象定义了四个作用域:
- 页 - 只能在引用对象的 JSP 页中访问对象。
- request - 可以在为当前请求提供服务的所有页面中访问对象。其中包括转发到请求路由到的原始 JSP 页并包含在其中的页。
- 会话 - 只能在为其定义对象的会话中访问的 JSP 页中访问对象。
- 应用程序 - 给定上下文中的所有 JSP 页都可以访问应用程序范围的对象。
将对象存储在那里意味着 servlet 代码可以通过调用预定义的变量来访问它。由于每个页面和每个请求都有不同的对象,这表示Bean不是共享的,因此将为每个请求创建一个新的Bean。getAttribute()
pageContext
PageContext
引用
阿拉马拉朱,S.(2004年)。Professional Java Servlets 2.3.加州伯克利:阿普拉斯。