一个请求可以跨好几个JSP(include和forWord)和Servlet(如filter).不过这里有一个需要注意的就是区别 <jsp:include> 和<%@ include %>.如果上面的<jsp:include page="jsp2.jsp" />改为<%@ include file="jsp2.jsp" %>,即使scope为page也是正确的,<%@ include %>是编译时包含,<jsp:include>是运行时包含.前者就相当于宏,编译时替代,后者相当于函数,运行时返回.
--------------------------------------------------------------------------------
application和session比较简单,这里主要说明request和page的作用范围。
application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:请求作用域,就是客户端的一次请求。
page:一个jsp页面。
以上作用范围使越来越小, request和page的生命周期都是短暂的,他们之间的区别就是:一个request可以包含多个page页(include,forward以及filter)。举个简单的例子:
jsp1.jsp
<jsp:useBean id="beanID" class="xxx .xxx.BeanClass" scope="request" />
<jsp:include page="jsp2.jsp" />
jsp2.jsp
<jsp:getProperty name="beanID" property="sample" />
运行jsp1.jsp可以正常显示数据,因为作用范围是request,相当于调用了request.setAttribute()方法,jsp2页通过request.getAttribute来获得这个bean.如果把request改为page,就会抛出NullPointerExceptioin.
一个请求可以跨好几个JSP(include和forWord)和Servlet(如filter).不过这里有一个需要注意的就是区别 <jsp:include> 和<%@ include %>.如果上面的<jsp:include page="jsp2.jsp" />改为<%@ include file="jsp2.jsp" %>,即使scope为page也是正确的,<%@ include %>是编译时包含,<jsp:include>是运行时包含.前者就相当于宏,编译时替代,后者相当于函数,运行时返回.
分享到:
相关推荐
在Web开发中,`pageContext`, `request`, `session`, 和 `application` 是四个非常重要的内置对象,它们分别代表了不同作用域内的数据存储空间。理解这些对象的生命周期及其使用范围对于有效地管理Web应用的状态至关...
JSP内置对象session和application的应用 JSP(Java Server Pages)是一种服务器端脚本语言,用于生成动态网页。JSP内置对象是JSP提供的一些预定义对象,通过这些对象,可以访问和操作服务器端的资源。其中,session...
通过以上示例,我们可以清晰地了解到如何利用 JSP 中的 `request` 和 `session` 对象来实现数据在不同页面间的传递。此外,我们还学习了如何使用 JavaBean 来管理更复杂的数据结构。这些技术是构建动态 Web 应用程序...
在 JSP中作用域由小到大的组合是 A .request page session application B.page request session application C.pageContext request session application D.pageScope request sessionScope applicationScope
在JSP页面中,我们通常使用page、request、session和application这四个作用域来存储数据,其中session是最常用的,因为它能够跨越多个请求保持数据状态,非常适合存储用户相关的数据。 在JSP页面中使用session来...
- `scope`:定义JavaBean的作用域,可以是`page`, `request`, `session` 或 `application`。 例如,如果你有一个名为 `UserBean` 的JavaBean,你可以这样在JSP中声明和实例化它: ```jsp <jsp:useBean id="user" ...
在 JSP 中,通常在 `<%@ page %>指令` 中设置 `isThreadSafe="true"` 来启用对 Application 对象的访问。 2. **共享数据**: 类似于 Session,Application 也提供 `setAttribute()` 和 `getAttribute()` 方法,用于...
在JSP应用中,"ex6.6_application"可能是一个具体的项目或者练习,用于演示如何在JSP环境中构建和管理应用程序。这个实例可能包含了多个JSP文件、Java源代码、配置文件和其他相关资源,帮助学习者理解和掌握JSP的...
* 作用域分为四种:page、request、session、application * 每种作用域都有其特点和应用场景 Request、Session 和 Application 作用域的区别: * Request 作用域是指在当前请求中有效的信息共享范围 * Session ...
在JSP中,有四个基本的作用域:page、request、session和application。`application`作用域在整个应用范围内都是可见的,这意味着一旦数据被存入`application`,所有用户和所有页面都能访问到,直到服务器关闭或手动...
`jsp`提供了`request`隐含对象,通过它我们可以获取GET或POST请求中的数据。 3. **HTML与JSP结合**:`jsp`页面通常包含HTML标记,用于构建网页的结构和样式。在`jsp`中,我们可以嵌入Java代码片段,以处理逻辑操作...
每个阶段都有对应的内置对象,如page、request、response、session和application,开发者可以利用这些对象来操作页面和处理请求。 4. 请求转发与重定向 - 请求转发(Request Forwarding):发生在服务器端,使用`...
EL表达式在获取数据时会依序从Page、Request、Session、Application范围查找,如果使用了限定作用域的方式,则直接从指定的作用域中查找数据。 此外,JSP还定义了九大内置对象,这些对象是JSP页面可以直接使用的...
JSP 中的四种作用域是指 page、request、session 和 application,这四种作用域都是用于存储和共享数据的,下面对每种作用域进行详细的解释: 1. Page 作用域 Page 作用域是 JSP 页面的内置对象,用于存储当前页面...
JSP 中的 Scope 分为 Page、Request、Session、Application 四种,分别对应不同的生命周期。 Page Scope:表示当前 JSP 页面的生命周期,变量的生命周期只在当前页面中有效。 Request Scope:表示当前请求的生命...
在 JSP 中,有九个内置对象,分别是:request、response、out、session、application、config、pageContext、page 和 exception。这些对象可以在 JSP page 中直接使用,不需要声明。 1. Request 对象 Request 对象...
8.PageContext对象类:PageContext PageContext对象提供了一种方式来访问JSP页面的所有范围的变量,并且提供了对JSP页面所有作用域的访问,包括page, request, session, 和 application。获取其他范围的变量: ```...
JSP提供了一系列内置对象,如`request`、`response`、`session`、`application`、`pageContext`等,它们简化了Web开发,使得开发者可以直接操作HTTP请求、响应、会话和应用程序范围内的数据。 5. **JSP动作标签** ...
`application`是四个基本作用域之一,其他包括`page`、`session`和`request`。下面将详细介绍`application`的使用方法及其在实际开发中的应用场景。 首先,`application`作用域的生命周期是从服务器启动到服务器...