JSP的范围-作用域(web基础学习笔记五)
JSP的范围(作用域)
在JSP页面中的对象,包括用户创建的对象如JavaBean,都有一个范围属性,这个范围也被叫做“作用域”。范围定义了在什么时间内,在哪一个JSP页面中可以访问这些对象。例如,session对象在会话期间内,可以在多个页面被访问。Application对象在整个Web应用的整个生命周期范围内都可以被访问。在JSP中,有4种范围。那就是page范围、request范围、session范围和application范围
page范围
具有page范围的对象被绑定到javax.servlet.jsp.PageContext对象中,这个范围的对象,只能在创建对象的页面中访问。可以调用pageContext这个隐含对象的getAttribute()方法来访问这个范围的对象,也可以使用setAttribute方法来设置这个范围的对象或属性。Page范围的对象,在客户端每次请求JSP页面时创建,在页面向客户端发送响应或者请求被转发之后这个对象或属性就会被删除了。
request范围
具有request范围的对象被绑定到了javax.servlet.http.HttpServletRequest对象中,可以调用request内置对象的set/getAttribute方法来设置或者访问这个范围的对象。在调用forward方法转向其他页面或者使用include中包含的页面中也是可以访问这个范围的对象的。但是这个范围内的对象只对相同的请求是有效的,也就是说对于不同的请求之间是不能共享这个范围内的对象的。
session范围
具有session范围的对象被绑定到javax.servlet.http.HttpSession对象中,可以调用session内置对象的set/getAttribute方法来访问具有这种范围的对象,这个范围的对象是针对会话的,它们只能在相同的会话期间被访问,如果不同的会话期间,则这样的对象也是不能共享的
application范围
具有application范围的对象被绑定到javax.servlet.ServletContext对象中,可以调用application内置对象的set/getAttribute方法来访问具有这种范围的对象。在web应用运行期间,所有的页面都可以访问这个范围的对象。
JSP的范围-作用域(web基础学习笔记五)的更多相关文章
- JSP实现数据传递(web基础学习笔记三)
get和post的区别: JSP内置对象: 1)out内置对象:out内置对象是在JSP开发过程中使用得最为频繁的对象,然而其使用起来也是最简单的.out对象用于向客户端浏览器输出数 ...
- JSP实现数据保存(web基础学习笔记四)
session对象: //服务端设置Session属性 session.setAttribute("user", username); //客户端接收Session Object ...
- C++基础 学习笔记五:重载之运算符重载
C++基础 学习笔记五:重载之运算符重载 什么是运算符重载 用同一个运算符完成不同的功能即同一个运算符可以有不同的功能的方法叫做运算符重载.运算符重载是静态多态性的体现. 运算符重载的规则 重载公式 ...
- java基础学习笔记五(抽象类)
java基础学习总结——抽象类 抽象类介绍
- 使用JSP实现输出(web基础学习笔记二)
Jsp:Java Server Page 服务器端的Java页面,动态网页技术 jsp注释 显式注释:这种注释客户端是允许看见的;<!--html注释--> 隐式注释:这种注释客户端是看不 ...
- JSP的页面连接和提交方式(web基础学习笔记六)
一.GET请求新页面 1.1.超链接请求新页面 <!-- 超链接到page2 --> <a href="page2.jsp">链接到page2</a& ...
- JSTL 标签库 使用(web基础学习笔记十九)
标签库概要: 一.C标签库介绍 1.1.<c:> 核心标签库 JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:1.表达式控制标签:out.set.remove.catch2 ...
- EL运算符(web基础学习笔记十七)
一.EL语法 1.1.语法结构 ${expression} 1.2.[]与.运算符 EL 提供.和[]两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一 ...
- 监听器(web基础学习笔记二十二)
一.监听器 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通java程序,这个程序专门 ...
随机推荐
- div模拟selection标签 下拉列表
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MVC通过UIHint和自定义视图显示RadioButtonList
在Product类中有一个显示删除状态的属性DelFlag,在编辑视图页,对于所有的删除状态以RadioButtonList显示出来,如果RadioButtonList选项的value值与当前mode ...
- VS2010 打包生成exe文件后 执行安装文件出现 TODO:<文件说明>已停止工作并已关闭
一.VS2010 打包生成exe文件后 执行安装文件出现 TODO:<文件说明>已停止工作并已关闭 TODO: <文件说明>已停止工作 原因: 打包的时候在文件系统中建立了 ...
- 技术交流:DDD在企业开发的案例分享
背景 因为工作上的原因,这次技术交流准备的不够充分,晚上通宵写的演示代码,不过整个过程还是收获蛮大的,具体如下: 对原子操作有了更深入的了解,自己写的无锁循环队列(有点类似 RingBuffer)终于 ...
- 12c weblogic需要输入用户名密码
在目录/home/weblogic_12c/user_projects/domains/base_domain/servers/AdminServer/security下新增文件boot.proper ...
- myeclipse 修改freemarker ftl 不重启tomcat
最 近的项目是SSH,View层采用Freemarker,但是遇到了一个很大问题,每次修改完ftl文件,都要重新启动tomcat才可以看到所修改的内 容,不但麻烦,而且浪费时间,特别怀念jsp,后来在 ...
- 发布设置setting.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- User-specific configuration ...
- pythonUnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128
今天做网页到了测试和数据库交互的地方,其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是Python的str默认是ascii编码,和uni ...
- 数据库实例: STOREBOOK > 表空间 > 编辑 表空间: SYSAUX
ylbtech-Oracle:数据库实例: STOREBOOK > 表空间 > 编辑 表空间: SYSAUX 表空间 > 编辑 表空间: SYSAUX 1. 一般信息返 ...
- C语言获取系统当前时间
C语言获取系统当前时间 time_t -- 时间类型 struct tm -- 时间结构 time(&now)函数获取当前时间距1970年1月1日的秒数,以秒计数单位. localtime ( ...