【摘要】 java
隐藏对象用在jsp表达式和脚本中,不能直接用在jsp声明中,由于这些隐藏对象是容器在jspservice方法中定义的,在这个方法中定义的变量不能在jsp声明中使用。能够经过参数方法将隐藏对象传递到jsp声明自定义的方法中,并且自定义的方法必需要抛异常。web
域范围从小到大: pageContext request session application 浏览器
表明 HttpServletResponse 的: response
表明 ServletConfig 的: config
表明 JspWriter 的: out
表明当前 jsp 页面生成的 Servlet 的实例的: page (Object page = this)
带页面指定 isErrorPage=true 时的: Exception 服务器
============================================JSP内置9个隐藏对象============================================cookie
1.out输出流对象session
隐藏对象out是javax.servlet.jsp.JspWriter类的实例。服务器向客户端输出的字符类内容能够经过out对象输出。app
2.request 请求对象jsp
隐藏对象request是javax.servlet.ServletRequest类的实例。表明客户端的请求。request包含客户端的信息以及请求的信息,如请求哪一个文件,附带的地址栏参数等。每次客户端请求都会产生一个request实例。this
3.response 响应对象spa
隐藏对象response是javax.servlet.ServletResponse类的实例,表明服务器端的响应。服务器端的任何输出都是经过response对象发送到客户端浏览器。每次服务器端都会产生一个response实例。
4.config 配置对象
隐藏对象config是javax.servlet.ServletConfig类的实例,ServletConfig封装了配置在web.xml中初始化JSP的参数。JSP中经过config获取这些参数。每一个JSP文件都有一个config对象。
5.session 会话对象
隐藏对象session是javax.servlet.http.HttpSession类的实例。session与cookie是记录客户访问信息的两种机制,session用于服务器端保存用户信息,cookie用于客户端保存用户信息。
Servlet经过request.getSession()获取session对象,而在JSP中能够直接使用。若是JSP中配置了<%@ page session="false" %>,则隐藏对象session不可用。每一个用户对应一个session对象。
6.application 应用程序对象
隐藏对象application是javax.servlet.ServletContext类的对象。application封装了JSP所在的Web应用程序的信息,例如web.xml中配置的全局的初始化信息。Servlet中application对象经过ServletConfig.getServletContext()来获取。整个Web应用程序对应一个application对象。
7.page 页面对象
隐藏对象page为javax.servlet.jsp.HttpJspPage类的实例,page对象表明当前JSP页面,是当前JSP编译后的Servlet类的对象。page至关于普通java类中的关键字this。
8.pageContext 页面上下文对象
隐藏对象pageContext为javax.servlet.jsp.PageContext类的实例。pageContext对象表明当前JSP页面编译后的内容。经过pageContext可以获取到JSP中的资源。
9.exception 异常对象
隐藏对象exception为java.lang.Exception类的对象。exception封装了JSP中抛出的异常信息。要使用exception对象,须要设置<%@ page isErrorPage="true" %>。隐藏对象exception一般被用来处理错误页面。