什么是内置对象?内置对象定义为,可以不声明就使用的成员变量。我们使用的时候直接用而不用声明,他们是由JSP规范提供的并有Web容器实现和管理的。
常用的JSP内置对象共有9个,request对象、response对象、out对象、pageContext对象、session对象、application对象、page对象、config对象、exception对象。我们可以将这9个对象进行简单的分类:
1. 输出输入对象:request对象、response对象、out对象
2. 通信控制对象:pageContext对象、session对象、application对象
3. Servlet对象:page对象、config对象
4. 错误处理对象:exception对象
9个对象的作用域:
何为作用域?(见博客:JSP对象的四个作用域)
Response :页面执行期
Out :页面执行期
pageContext:页面执行期
Page:页面执行期
Page:页面执行期
Config:页面执行期
Exception:页面执行期
Request:用户请求期
Session:会话期
Application:整个程序运行期
下面简单总结各个对象的用途:
Request(Javax.servlet.ServletRequest)
它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。
Response(Javax.servlet.ServletResponse)
作为JSP页面处理结果返回给用户的响应存储在该对象中。并提供了设置响应内容、响应头以及重定向的方法(如cookies,头信息等)
Out(Javax.servlet.jsp.JspWriter)
用于将内容写入JSP页面实例的输出流中,提供了几个方法使你能用于向浏览器回送输出结果。
pageContext(Javax.servlet.jsp.PageContext)
描述了当前JSP页面的运行环境。可以返回JSP页面的其他隐式对象及其属性的访问,另外,它还实现将控制权从当前页面传输至其他页面的方法。
Session(javax.servlet.http.HttpSession)
会话对象存储有关此会话的信息,也可以将属性赋给一个会话,每个属性都有名称和值。会话对象主要用于存储和检索属性值。它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。
Application(javax.servle.ServletContext)
实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。
Page(Java.lang.Object)
表示当前JSP页面的servlet实例,指向当前JSP页面本身,有点类似类中的this指针。
Config(javax.servlet.ServletConfig)
该对象用于存取servlet实例的初始化参数。
Exception(Javax.lang.Throwable)
在某个页面抛出异常时,将转发至JSP错误页面,提供此对象是为了在JSP中处理错误。只有在错误页面中才可使用<%@pageisErrorPage=“true”%>
至于每个对象中的方法以及使用,我就不再多说,相信我们只有知道这个对象的用途,再找具体的方法是很简单的,用到时一查便知。