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           

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。