JSP的9大内置对象
1.概述
JSP的这9个内置对象,都是servlet API实例,即在JSP页面内部,可以直接使用;
ps:顺便说下JSP的4大范围:
JSP的四种范围,分别为page、request、session、application。
application:
全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:
会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:
请求作用域,就是客户端的一次请求。
page:
一个JSP页面。
JSP中9大内置对象为:
request
请求对象 类型
javax.servlet.ServletRequest 作用域 Request
response 响应对象
类型 javax.servlet.SrvletResponse
作用域 Page
pageContext 页面上下文对象 类型
javax.servlet.jsp.PageContext 作用域 Page
session 会话对象
类型
javax.servlet.http.HttpSession 作用域 Session
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
out
输出对象 类型
javax.servlet.jsp.JspWriter 作用域 Page
config
配置对象 类型
javax.servlet.ServletConfig 作用域 Page
page
页面对象 类型
javax.lang.Object 作用域 Page
exception 例外对象 类型
javax.lang.Throwable 作用域 page
request
request对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求;
response
response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效javax.servlet.ServletResponse的子类型,此对象封装了返回到HTTP客户端的输出,向页面供设置响应头标和状态码
的方式。经常用来设置HTTP标题,添加cookie,设置响应内容的类型和状态,发送HTTP重定向和编码URL。作用域为page(页面执行期)。
pageContext
javax.servlet.jsp.PageContext(抽象类)类型,作用域为page(页面执行期)。
此对象供所有四个作用域层次的属性查询和修改能力,它也供了转发请求到其它资源和包含其他资源的方法;
session
javax.servlet.http.HttpSession类型,作用域session。
主要用于跟踪对话,如果不需要在请求之间跟踪会话对象,可以通过在page指令中指定session="false",需要记住的是pageContext对象也可以与session.getAttribute(),session.setAttribute()一样的方式取得并设置会话属性。
session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为
“Key/value”。 session对象的value
可以使复杂的对象类型,而不仅仅局限于字符串类型。
application
javax.servlet.ServletContext类型,作用域是application(整个程序运行期)。
servlet的环境通过调用getServletConfig().getContext()方法获得。它供了关于服务器版本,应用级初始化参数和应用内资源绝对路径,注册信息的方式;
application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。 对象是用力保存java web应用程序中的使用的变量,
所有用户不论何时皆可存取使用这些变量。Application对象最大的特点是没有所谓的生命周期的。生命周期是指客户端的浏览器是否被关闭,application对象都存在于主机上。直到服务器关闭后,application对象才失效。
out
javax.servlet.jsp.JspWriter类型,代表输出流的对象。作用域为page(页面执行期)。
out 对象代表了向客户端发送数据的对象,与“response” 对象不同,通过“out” 对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过“out” 对象直接向客户端写一个由程序动态生成HTML文件。常用的方法除了pirnt和println之外,还包括
clear、clearBuffer、flush、getBufferSize和getRemaining,这是因为“out” 对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法;
config
javax.servlet.ServletConfig,作用域为page(页面执行期);
config 对象的主要作用是取得服务器的配置信息。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面供初始化参数。
page
page对象代表JSP页面本身,只是this引用的一个代名词。对JSP页面创建者通常不可访问,所以一般很少用到该对象。“page” 对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。
exception
exception:java.lang.Throwable,通过JSP错误页面中一个catch块已经益出但没有捕获的;
exception对象则代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,而只能在使用了“<%@ page isErrorPage="true "%>”的JSP文件中使用;
要使用exception对象,则页面的isErrorPage必须指明为true。在Java中利用明为try/catch的关键字来处理异常情况,如果在JSP页面中没有捕捉到的异常,就会生成exception对象,并把这个exception对象传送到在page指令中设定的错误页面中,然后在错
误示页面中处理相应的exception对象
查看每个对象具体方法可以查看:http://baike.baidu.com/view/1690487.htm
JSP的9大内置对象的更多相关文章
- 今天我们来认识一下JSP的九大内置对象
虽然现在基本上我们都是使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的.像request.response.session这些对象,即便使用 ...
- 牛客网Java刷题知识点之什么是JSP、JSP有哪些优点、JSP的9大内置对象、JSP的四大域对象、JSP的四种范围
不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21175&query=&asc= ...
- servlet的三大作用域对象和jsp的九大内置对象及其四大作用域对象
servlet的三大作用域对象: request(HttpServletRequest) session(HttpSession): application(ServletContext):tomca ...
- jsp学习——九大内置对象
JSP一共有九个内置对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 博客:JSP的九 ...
- jsp的九大内置对象
九大内置对象 jsp servlet 对象名 类型 使用范围 request HttpServletRequest 请求 浏览器--->服务器 response HttpServletRes ...
- jsp页面九大内置对象
资源转载自网上,不可用于商用,学习可以.内置对象又叫隐式对象/隐含对象是由WEB容器加载的一组类的实例,不需要预先声明就可以在脚本代码和表达式中随意使用的对象. 这九大隐式对象可以按照期作用分类为: ...
- jsp的九大内置对象及EL表达式的隐含对象
九大内置对象: request request对象具有请求域,即完成客户端的请求之前,该对象一直有效. response response对象具有页面作用域,即访问一个页面 ...
- jsp(九大内置对象,三大指令)
九大内置对象JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.except ...
- JSP中9大内置对象类型
JSP中九大内置对象为: request 请求对象 类型 javax.servlet.ServletRequest 作用域 Requ ...
随机推荐
- 基于英特尔® 至强™ 处理器 E5 产品家族的多节点分布式内存系统上的 Caffe* 培训
原文链接 深度神经网络 (DNN) 培训属于计算密集型项目,需要在现代计算平台上花费数日或数周的时间方可完成. 在最近的一篇文章<基于英特尔® 至强™ E5 产品家族的单节点 Caffe 评分和 ...
- 关于Retinex图像增强算法的一些新学习。
最近再次看了一下IPOL网站,有一篇最近发表的文章,名字就是Multiscale Retinex,感觉自己对这个已经基本了解了,但还是进去看了看,也有一些收获,于是抽空把他们稍微整理了下,原始文章及其 ...
- CANopen学习——同步
在发送和接收之间必须相互协调和同步,为此,CANopen引入同步的概念. 同步报文:包含一个数据字节或者不含数据字节的CAN报文.数据字节中包含一个从1开始递增计数的同步计数器.溢出值可在参数(索引1 ...
- dubbox升级spring到4.x及添加log4j2支持
今天花了点时间,把dubbox依赖的spring从3.x升级成最新版的4.x了,其它一些依赖的组件也顺带升级了,同时dubbo支持的第三方日志组件居然没有log4j2,加了点代码也一并支持了,蛋疼的是 ...
- DataTable转List
Invoke : DataTableToList<City>.ConvertToModel(ds.Tables[0]).ToList<City>(); using System ...
- iOS开发小技巧 -- tableView-section圆角边框解决方案
[iOS开发]tableView-section圆角边框解决方案 tableView圆角边框解决方案 iOS 7之前,图下圆角边框很容易设置 iOS 7之后,tableviewcell的风格不再是圆角 ...
- 动态生成二维码插件 jquery.qrcode.js
前段时间做项目,需要动态生成一个二维码,于是就在网上找了一下发现一个jquery插件jquery.qrcode.js,所以今天就简单说一下这个插件的使用: jquery.qrcode.js是依赖jqu ...
- 文件共享锁定数溢出-IWorkspaceEdit.StopEditing
在批量保存Feature至本地mdb的时候,当Feature的数量超过一定的值(该值不确定是不是Access文件的MaxLocksPerFile值,因为当MaxLocksPerFile为9500时,F ...
- Spring拦截机制之后端国际化心得
需求 前端请求的header里带有Prefer_Lang参数,向后端传递国际化信息,后端需要在处理业务之前(建立拦截机制),将Prefer_Lang保存于线程上下文. 思路分析 初次接收该需求时,为了 ...
- [C#] 日志类
在程序发布到服务器上的时候,不能在像本地执行一样可以调试,在发生错误时候,往往不能很方便的查找错误.将错误信息写入文件是一种比较常用的处理方法.以下是一个日志类,实现以下功能: 1)按日期每天生产不同 ...