JSP的九大内置对象和四大作用域
Jsp内置对象:
1.内置对象:(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用。
2.使用内置对象的原因:提升开发效率
3.九大内置对象:(request、response、session、out、page、application、exception、pageContext、config)
(1)request对象: 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是 HttpServletRequest类的实例。
(2)response对象:response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是 HttpServletResponse类的实例。
(3)session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到 客户端与服务器断开连接为止。它是HttpSession类的实例。
(4)out对象:out对象是JspWriter类的实例,是向客户端输出内容常用的对象。
(5)page对象: page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例。
(6)application对象:application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器 的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对 此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。 服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
(7)exception对象:exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个 JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang. —— Throwable的对象。
(8)pageContext对象:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本 页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能 的集大成者,它的本 类名也叫pageContext。
(9)config对象:config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用 到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)。
Jsp的作用域:代表数据存储的范围。
1.Jsp的四大作用域:(page、request、session、application)
这四大作用域,其实就是其九大内置对象中的四个,为什么说他们也是JSP的四大作用域呢?
因为这四个对象都能存储数据,比如request.setAttribute()注意和request.setParameter()区分开来,一个是存储在域中的、 一个是请求参数,session.setAttribute()、application其实就是SerlvetContext,自然也有setAttribute()方法。而page作用域的操作就需要依靠pageContext对象来进行了。
(1)page作用域:代表变量只能在当前页面上生效。
(2)request:代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到 页面B。
(3)session:代表变量能在一次会话中生效,基本上就是能在web项目下都有效,session的使用也跟cookie有很大的关 系。一般来说,只要浏览器不关闭,cookie就会一直生效,cookie生效,session的使用就不会受到影响。
(4)application:代表变量能一个应用下(多个会话),在服务器下的多个项目之间都能够使用。比如baidu、wenku等共享 帐号。
- 腾讯云平台部总经理陈磊:大数据背后的技术支撑
- DataSet与Xml相互转化
- SqlTransaction事务使用示例
- nginx的web缓存服务环境部署记录
- nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
- [转自blueidea]像table一样布局div Ⅰ
- 如何对动态创建控件进行验证以及在Ajax环境中的使用
- 升级个人网站框架组件IBatisNet+Castle
- 如何在多线程中调用winform窗体控件
- gerrit代码简单备份方案分享
- svn代码发版的脚本分享
- 正则表达式提取指定内容
- mysql数据库误删除后的数据恢复操作说明
- 在.NET平台上运行Java程序-IKVM.NET入门
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用tensorflow-serving部署模型
- JVM详解之:java class文件的密码本
- Sharding-Proxy的基本功能使用
- JVM详解之:运行时常量池
- Linux常用命令面试题(1)
- 机器学习必刷题-手撕推导篇(1)
- Python面试必刷题系列(3)
- Spark Love TensorFlow
- 用GPU加速Keras模型——Colab免费GPU使用攻略
- __init__和__new__的对比及单例模式
- 数据结构高频面试题-树
- Python面试必刷题系列(5)
- 外卖小哥
- 用 Python可视化神器 Plotly 动态演示全球疫情变化趋势
- 2个范例带你读懂TensorFlow2低阶API构建模型方法