JSP的隐藏对象
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/implicit-objects.html:
JSP隐式对象是Java对象,JSP容器使隐式对象在每一个页面中对开发人员是可用的,开发人员可以直接调用它们而不用显式声明。JSP隐式对象也称为预定义的变量。
JSP支持九个隐式对象,如下所示:
| 对象 | 描述 |
|---|---|
| request | 这是与请求关联的HttpServletRequest 对象。 |
| response | 这是与客户端响应关联的HttpServletResponse对象。 |
| out | 这是用于向客户端发送输出的PrintWriter对象。 |
| session | 这是与请求关联的HttpSession对象。 |
| application | 这是与应用程序上下文关联的ServletContext对象。 |
| config | 这是与页面关联的ServletConfig 对象。 |
| pageContext | 这个封装特使用特定服务器的特性,如更高的性能jspwriter。 |
| page | 这是this的一个简单的同义词,是用来调用由转换的Servlet类定义的方法。 |
| Exception | Exception对象允许指定的JSP访问异常数据。 |
一、request对象
request对象是javax.servlet.http.HttpServletRequest对象的一个实例。每次客户端请求一个页面时,JSP引擎都会创建一个新的对象来表示那个请求。
request对象提供方法来获取HTTP头信息,包括表单数据,cookies,HTTP方法等。
二、response对象
response对象是javax.servlet.http.HttpServletResponse对象的一个实例。当服务器创建request对象时,它也创建了代表客户端响应的对象。
response对象还定义了接口,可以处理创建的新的HTTP 头。通过这个对象JSP程序员可以添加新的cookies或日期stamps,HTTP状态码等。
三、out对象
out隐式对象是javax.servlet.jsp. JspWriter对象的一个实例,用于在响应中发送内容。
最初的JspWriter对象被实例化不同程度地取决于页面是否缓冲。通过使用页面指令的buffered='false'属性,缓冲可以很容易地关掉。
JspWriter对象包含大部分与java.io.PrintWriter类相同的方法。然而,JspWriter对象有一些额外的方法用来处理缓冲。与PrintWriter对象不同,JspWriter抛出IOException。
以下是用来写布尔型char,int,double,object,String等等的重要方法。
| 方法 | 描述 |
|---|---|
| out.print(dataType dt) | 输出一个数据类型的值 |
| out.println(dataType dt) | 输出数据类型值然后用新行字符终止该行。 |
| out.flush() | 刷新数据流。 |
四、session对象
session对象是javax.servlet.http.HttpSession的一个实例,且行为与Java Servlet中的session对象完全相同。
session对象是用来跟踪客户端请求之间的客户端会话。
五、application对象
application对象是用于生成的Servlet的ServletContext对象的直接包装器,且实际上是javax.servlet.ServletContext对象的一个实例。
这个对象是JSP页面整个生命周期的一个代表。当初始化JSP页面时,这个对象被创建,当JSP页面由jspDestroy()方法删除时,该对象也会被删除。
通过为application添加属性,可以确保生成web应用程序的所有JSP文件可以访问它。
六、config对象
config对象是javax.servlet.ServletConfig的一个实例,且是用于生成的servlet的ServletConfig对象的直接包装器。
该对象允许JSP程序员访问Servlet或JSP引擎初始化参数,如路径或文件位置等。
下面的config方法是唯一一个可能曾经使用的方法,且它的使用很简单:
config.getServletName();
这返回servlet的名称,该名称是包含在定义在web-inf\web.xml文件中<servlet-name>元素中的字符串。
七、pageContext对象
pageContext对象是javax.servlet.jsp.PageContext对象的一个实例。pageContext对象用于表示整个JSP页面。
这个对象是作为一种手段来访问页面信息的,同时避免了大部分的实现细节。
这个对象为每个请求存储了请求引用和响应对象。application,config,session,out对象是通过访问该对象的属性派生出来的。
pageContext对象还包含发布到JSP页面的指令信息,包括缓冲信息,errorPageURL,页面范围。
pageContext类定义了几个领域,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE,和APPLICATION_SCOPE,它确定了这四个范围。它还支持40多个方法,大约一半的方法是继承了javax.servlet.jsp.JspContext类的。
重要方法之一是removeAttribute,该方法接受一个或两个参数。例如,pageContext.removeAttribute(“attrName”) 从全部范围中删除属性,而下面的代码仅从页面范围中删除它:
pageContext.removeAttribute("attrName", PAGE_SCOPE);
八、page对象
这个对象是一个页面实例的真实引用。它可以被认为是一个对象,代表了整个JSP页面。
page对象实际上是this对象的一个直接的同义词。
九、exception对象
exception对象是一个包装器,包含来自先前页面的异常抛出。它通常用于为错误条件生成一个适当的响应。
JSP的隐藏对象的更多相关文章
- 【转】JSP中的9大隐藏对象
隐藏对象用在jsp表达式和脚本中,不能直接用在jsp声明中,因为这些隐藏对象是容器在jspservice方法中定义的,在这个方法中定义的变量不能在jsp声明中使用.可以通过参数方法将隐藏对象传递到js ...
- JSP 隐藏对象
[摘要] 隐藏对象用在jsp表达式和脚本中,不能直接用在jsp声明中,因为这些隐藏对象是容器在jspservice方法中定义的,在这个方法中定义的变量不能在jsp声明中使用.可以通过参数方法将 ...
- JSP——九大隐藏对象之四大域对象
你一定在你的Jsp文件中的监本片段中使用过以下九个对象的几种:out.config.page.pageContext.exception.request.response.application.se ...
- jsp内置对象浅谈
jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...
- JSP内置对象-request
JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...
- JSP内置对象的解析
JSP九大对象及四大作用域并与之对应图表: 隐式对象 作用域 所属类 application application javax.servlet.ServletContext session sess ...
- JavaWeb学习----JSP内置对象详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Jsp内置对象及EL表达式的使用
一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...
- Java遇见HTML——JSP篇之JSP内置对象(上)
一.JSP内置对象简介 1.1.内置对象简介 JSP内置对象是WEB容器中创建的一组对象,可以直接使用不需要new,如截图中的out 对象. JSP有九大内置对象: 五大常用对象: out.reque ...
随机推荐
- 让px单位自动转换为rem的方法
开发工具: 编辑器:vscode; css预处理器:less;(无具体要求): 步骤: 1. vscode安装cssrem插件: 2. 修改css插件的默认配置,其默认转换p ...
- php学习知识点
1.PHP 代码被包含在特殊的起始符和结束符中 <? ?> 2.php的用途 服务端脚本 命令行脚本. 编写桌面应用程序.3.输出语句.文本 echo printf4.$_SERVER 是 ...
- 微信小程序组件解读和分析:十五、switch 开关选择器
switch 开关选择器组件说明: switch,开关选择器.只能选择或者不选.这种属于表单控件或者查询条件控件. switch 开关选择器示例代码运行效果如下: 下面是WXML代码: [XML] 纯 ...
- 镜像中的 Everything, GnomeLive ,KdeLive ,livecd ,NetInstall的区别?
everything: 对完整版安装盘的软件进行补充,集成所有软件 GnomeLive , GNOME桌面版 KdeLive , KDE桌面版 livecd 光盘上运行的系统 ,NetInstall ...
- 数据字典Dictionary存放键值对
1. 方法思路: 使用数据字典[Dictionary<string, string>],声明一个list集合,将“XML子节点名称”.“节点值”以键[节点名称]值[节点值]对的形式 ...
- js设计模式-发布/订阅模式
一.前言 发布订阅模式,基于一个主题/事件通道,希望接收通知的对象(称为subscriber)通过自定义事件订阅主题,被激活事件的对象(称为publisher)通过发布主题事件的方式被通知. 就和用户 ...
- PHP会话控制考察点
为什么要使用会话控制技术 HTTP协议是无状态的,也就是说HTTP没有一个内建的机制来维护两个事务之间的状态.当一个用户完成一个请求发起第二个请求的时候,服务器无法知道这次请求是来自于上一次的客户.而 ...
- druid监控及慢sql记录
本文提要 前文也提到过druid不仅仅是一个连接池技术,因此在将整合druid到项目中后,这一篇文章将去介绍druid的其他特性和功能,作为一个辅助工具帮助提升项目的性能,本文的重点就是两个字:监控. ...
- Python_高阶函数、装饰器(decorator)
一.变量: Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来. 对变量赋值x = y是把变量 ...
- fedora下yum安装gnome和kde桌面 (有问题 )
转自: http://linux.chinaunix.net/techdoc/system/2009/08/31/1133198.shtml 1.1 安装KDE桌面环境 yum groupins ...