位置:首页 > > JSP隐式对象

JSP隐式对象

JSP隐含对象是Java对象的JSP容器使提供给开发者在每一个页面中,开发者可以直接调用它们没有被显式声明。 JSP隐含对象也被称为预定义变量。

JSP的支持下面列出了9个隐式对象:

对象 描述
request This is the HttpServletRequest object associated with the request.
response This is the HttpServletResponse object associated with the response to the client.
out This is the PrintWriter object used to send output to the client.
session This is the HttpSession object associated with the request.
application This is the ServletContext object associated with application context.
config This is the ServletConfig object associated with the page.
pageContext This encapsulates use of server-specific features like higher performance JspWriters.
page This is simply a synonym for this, and is used to call the methods defined by the translated servlet class.
Exception The Exception object allows the exception data to be accessed by designated JSP.

request 对象:

request 对象是javax.servlet.http.HttpServletRequest对象的一个实例。每次客户端请求一个页面的JSP引擎创建一个新的对象来表示该请求。

request 对象提供的方法来获得,包括表单数据的HTTP头信息,饼干,HTTP方法等。

我们将看到一整套与请求对象在未来的章节相关的方法: JSP客户端请求.

response 对象:

response 对象是一个javax.servlet.http.HttpServletResponse对象的一个实例。正如服务器创建的请求对象,它还会创建一个对象来表示响应给客户端。

response 对象还定义了处理创造新的HTTP标头的接口。通过这个对象的JSP程序员可以添加新的Cookie或日期标记,HTTP状态代码等。

我们将看到一整套与响应对象在未来章节相关的方法: JSP服务器响应.

out 对象:

out 隐含的对象是javax.servlet.jsp.JspWriter对象的一个实例,用于在发送一个响应内容。

最初的JspWriter对象实例化不同,具体取决于该页面是否被缓冲与否。缓冲可以通过使用page指令buffered='false'属性很容易被关闭。 

JspWriter对象包含大部分相同的方法作为java.io.PrintWriter中的类。然而,JspWriter有专门用来对付缓冲一些额外的方法。不同的是PrintWriter对象,JspWriter抛出IOExceptions。

以下是我们将用它来写布尔字符,整数,双精度的对象,字符串等的重要方法

方法 描述
out.print(dataType dt) Print a data type value
out.println(dataType dt) Print a data type value then terminate the line with new line character.
out.flush() Flush the stream.

session 对象:

session对象是javax.servlet.http.HttpSession的实例和行为完全同样的方式,会话对象的行为下的Java servlet。

session 会话对象用于跟踪客户端请求之间的客户端会话。我们将看到在未来的章节会话对象的完整的用法:JSP会话跟踪.

application 对象:

应用对象是围绕着ServletContext对象直接包装器生成的Servlet和现实中的javax.servlet.ServletContext对象的实例。

这个对象是JSP页面在其整个生命周期中的表示。当JSP页面初始化时创建此对象,当JSP页面将被jspDestroy()方法删除。

通过增加一个属性的应用程序,您可以确保所有的JSP文件,使您的Web应用程序可以访问它。

您可以查看一个简单的用一章Application对象: JSP 点击记数器

config 对象:

config 对象是javax.servlet.ServletConfig的实例化,并为周围的ServletConfig对象的直接包装器生成的servlet。

这个对象允许JSP程序员访问Servlet或者JSP引擎的初始化参数,如路径或文件位置等等。

下面的配置方法是你可能永远使用唯一的一个,它的用法很简单:

 config.getServletName();

这将返回servlet的名称,它是包含在WEB-INF web.xml文件中<servlet-name>元素定义了字符串。

pageContext 对象:

pageContext对象是javax.servlet.jsp. PageContext 对象的一个实例。pageContext对象被用来代表整个JSP页面。

这个对象的目的是作为访问有关的页面信息,同时避免大部分的实现细节的手段。

此对象存储引用的请求和响应对象为每个请求。该应用程序,配置,会话和输出对象是通过访问这个对象的属性派生的。

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);

您可以查看pageContext中的一个很好的使用在未来的章节: JSP文件上传.

page 对象:

这个对象是一个实际的参考页的实例。它可以被看作是一个对象,它代表了整个JSP页面。

页面对象确实是一个直接的代名词了这个对象。

exception 对象:

异常对象是包含异常从以前的页面抛出一个包装。它通常被用来产生到错误条件的适当响应。

我们将看到在未来的章节此对象的完整的用法:JSP异常处理.