


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在jsp页面中的对象,包括用户创建的对象(例如,javaBean对象)和JSP的隐含对象,都有一个范围属性。范围定义了在什么时间内,在哪一个JSP页面中可以访问这些对象。例如,session对象在会话期间内,可以在多个页面中被访问。application对象在整个Web应用程序的生命周期中都可以被访问。在JSP中,有4种范围,如下所示。page范围 具有page范围的对象被绑定到javax.servlet.jsp.PageContext对象中。在这个范围内的对象,只能在创建对象的页面中访问。可以调用pageContext这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象(pageContext对象还提供了访问其他范围对象的getAttribute方法),pageContext对象本身也属于page范围。当Servlet类的_jspService()方法执行完毕,属于page范围的对象的引用将被丢弃。page范围内的对象,在客户端每次请求JSP页面时创建,在页面向客户端发送回响应或请求被转发(forward)到其他的资源后被删除。request范围 具有request范围的对象被绑定到javax.servlet.ServletRequest对象中,可以调用request这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。在调用forward()方法转向的页面或者调用include()方法包含的页面中,都可以访问这个范围内的对象。要注意的是,因为请求对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象。session范围 具有session范围的对象被绑定到javax.servlet.http.HttpSession对象中,可以调用session这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。JSP容器为每一次会话,创建一个HttpSession对象,在会话期间,可以访问session范围内的对象。application范围 具有application范围的对象被绑定到javax.servlet.ServletContext中,可以调用application这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象。在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象。下面我们通过几个简单的例子,来看一下这4种范围对象的应用。1测试page范围 test1.jsp%pageContext.setAttribute(name,zhangsan);out.PRintln(test1.jsp: );out.println(pageContext.getAttribute(name);out.println(p);pageContext.include(test2.jsp);%test2.jsp%out.println(test2.jsp: );out.println(pageContext.getAttribute(name);% 访问test1.jsp,将看到如下的输出:test1.jsp: zhangsan test2.jsp: null说明保存在pageContext对象中的属性具有page范围,只能在同一个页面中被访问。2测试request范围 修改test1.jsp和test2.jsp,如下所示。test1.jsp%request.setAttribute(name,zhangsan);out.println(test1.jsp: );out.println(request.getAttribute(name);out.println(p);pageContext.include(test2.jsp);% test2.jsp%out.println(test2.jsp: );out.println(request.getAttribute(name);% 访问test1.jsp,将看到如下的输出:test1.jsp: zhangsan test2.jsp: zhangsan说明保存在request对象中的属性具有request范围,在请求对象存活期间,可以访问这个范围内的对象。将pageContext.include(test2.jsp); 这一句注释起来,先访问test1.jsp,再访问test2.jsp,可以看到如下输出:test2.jsp: null这是因为客户端开始了一个新的请求。3测试session范围 修改test1.jsp和test2.jsp,如下所示。test1.jsp%session.setAttribute(name,zhangsan);% test2.jsp%out.println(test2.jsp: );out.println(session.getAttribute(name);% 先访问test1.jsp,然后在同一个浏览器窗口中访问test2.jsp,可以看到如下输出:test2.jsp: zhangsan说明保存在session对象中的属性具有session范围,在会话期间,可以访问这个范围内的对象。如果我们在访问完test1.jsp后,关闭浏览器,重新打开浏览器窗口,访问test2.jsp,将看到如下输出:test2.jsp: null这是因为客户端与服务器开始了一次新的会话。4测试application范围 修改test1.jsp和test2.jsp,如下所示。test1.jsp%application.setAttribute(name,zhangsan);% test2.jsp%out.println(test2.jsp: );out.println(application.getAttribute(name);% 先访问tes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宪法知识竞赛试题及答案
- 危重病人试题及答案解析
- 《护理值班与交接班制度》考试试题(附答案)
- 《2025企业主可以使用的员工服务合同》
- 2025电商平台代理合作合同书
- 服装制图专项试卷(二)
- 大学体适能考试试题及答案
- 士兵军事考学题库及答案
- 潍坊学法减分题库及答案
- 2025年文学概论机考试题及答案
- 钢结构隔断施工方案(3篇)
- 2025年IT技术支持工程师招聘面试技巧与模拟题答案
- 2025-2026学年沪教版(五四学制)(2024)小学体育与健康三年级(全一册)教学设计(附目录)
- 2025-2026学年苏少版七年级美术上册(全册)教学设计(附目录)
- 浙江省A9协作体暑假返校联考物理试题及答案
- 2025年国家保安员培训考试题(附答案)
- (正式版)DB15∕T 2787-2022 《河套食用葵花籽精 选加工技术规程》
- 儿童文学完整教学课件
- 管网建设施工方案指导
- GB/T 20716.2-2025道路车辆牵引车和挂车之间的电连接器(7芯)第2部分:12 V标称电压车辆的制动系统和行走系的连接
- GB/T 20716.1-2025道路车辆牵引车和挂车之间的电连接器(7芯)第1部分:24 V标称电压车辆的制动系统和行走系的连接
评论
0/150
提交评论