以下内容引用自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的隐藏对象的更多相关文章

  1. 【转】JSP中的9大隐藏对象

    隐藏对象用在jsp表达式和脚本中,不能直接用在jsp声明中,因为这些隐藏对象是容器在jspservice方法中定义的,在这个方法中定义的变量不能在jsp声明中使用.可以通过参数方法将隐藏对象传递到js ...

  2. JSP 隐藏对象

    [摘要]     隐藏对象用在jsp表达式和脚本中,不能直接用在jsp声明中,因为这些隐藏对象是容器在jspservice方法中定义的,在这个方法中定义的变量不能在jsp声明中使用.可以通过参数方法将 ...

  3. JSP——九大隐藏对象之四大域对象

    你一定在你的Jsp文件中的监本片段中使用过以下九个对象的几种:out.config.page.pageContext.exception.request.response.application.se ...

  4. jsp内置对象浅谈

    jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...

  5. JSP内置对象-request

    JSP内置对象即无需声明就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP对象有request,response,session,out和application等,笔者在本文章中将简单介绍 ...

  6. JSP内置对象的解析

    JSP九大对象及四大作用域并与之对应图表: 隐式对象 作用域 所属类 application application javax.servlet.ServletContext session sess ...

  7. JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. Jsp内置对象及EL表达式的使用

    一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...

  9. Java遇见HTML——JSP篇之JSP内置对象(上)

    一.JSP内置对象简介 1.1.内置对象简介 JSP内置对象是WEB容器中创建的一组对象,可以直接使用不需要new,如截图中的out 对象. JSP有九大内置对象: 五大常用对象: out.reque ...

随机推荐

  1. WIN7 x64下java 8的环境变量配置

    Oracle官网下载JDK进行安装:我下载的是Java 8 JDK,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-do ...

  2. R in action读书笔记(17)第十二章 重抽样与自助法

    12.4 置换检验点评 除coin和lmPerm包外,R还提供了其他可做置换检验的包.perm包能实现coin包中的部分功能,因此可作为coin包所得结果的验证.corrperm包提供了有重复测量的相 ...

  3. linux设置ssh连接时间

    相信大家经常遇到SSH连接闲置一会就断开需要重新连接的痛苦,为了使SSH连接保持足够长的时间,我们可以使用如下两种设置 1.sshd服务配置: #vi /etc/ssh/sshd_config Cli ...

  4. 迅为I.MX6DL开发板飞思卡尔Freescale Cortex A9 迅为-iMX6双核核心板

    核心板参数 尺寸: 51mm*61mm CPU: Freescale Cortex-A9 双核精简版 i.MX6DL,主频 1.2 GHz 内存: 1GB DDR3 存储: 8GB EMMC 存储 E ...

  5. 高阶函数与接口混入和java匿名类

    高阶函数与接口混入和java匿名类. 高阶函数中的组件(参量)函数相当于面向对象中的混入(接口)类. public abstract class Bird { private String name; ...

  6. springboot学习笔记(二)

    首先我们来看一看,springboot启动类@RestController//@ResponseBody+@Controller@SpringBootApplicationpublic class H ...

  7. JVM:内存分配与回收策略

    Java技术体系中所提倡的自动内存管理最终可以归结为自动化的解决了两个问题:给对象分配内存以及回收分配给对象的内存. 对象的内存分配,往大方向讲,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类 ...

  8. boostrapvalidator

    一个例子 <%@ page contentType="text/html;charset=UTF-8" language="java" %> < ...

  9. day25-2 OSI协议和socket抽象层

    目录 OSI协议 物理层 数据链路层 以太网协议 Mac地址 广播地址 网络层 获取对方Mac地址(ARP协议) 传输层 TCP协议 UDP协议 应用层 socket抽象层 OSI协议 互联网的本质就 ...

  10. cal - 显示一个日历

    总览 cal [-mjy ] [月份 [年份 ] ] 描述 Cal 显示一个简单的日历.. 如果没有指定参数, 则显示当前月份. 选项如下所列: -m 显示星期一作为一周的第一天.. (缺省为星期日. ...