目录

JSP - 隐式对象( Implicit Objects)

在本章中,我们将讨论JSP中的隐式对象。 这些对象是JSP容器为每个页面中的开发人员提供的Java对象,开发人员可以直接调用它们而无需显式声明。 JSP隐式对象也称为pre-defined variables

下表列出了JSP支持的九个隐式对象 -

S.No. 对象和描述
1

request

这是与请求关联的HttpServletRequest对象。

2

response

这是与客户端响应关联的HttpServletResponse对象。

3

out

这是用于将输出发送到客户端的PrintWriter对象。

4

session

这是与请求关联的HttpSession对象。

5

application

这是与应用程序上下文关联的ServletContext对象。

6

config

这是与页面关联的ServletConfig对象。

7

pageContext

这封装了特定于服务器的功能,如性能更高的JspWriters

8

page

这只是它的同义词,用于调用已转换的servlet类定义的方法。

9

Exception

Exception对象允许指定的JSP访问异常数据。

请求对象

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

请求对象提供了获取HTTP头信息的方法,包括表单数据,cookie,HTTP方法等。

我们可以在后续章节中介绍与请求对象关联的一整套方法 - JSP - 客户端请求

响应对象

响应对象是javax.servlet.http.HttpServletResponse对象的一个​​实例。 就像服务器创建请求对象一样,它也会创建一个对象来表示对客户端的响应。

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

我们将在后续章节中介绍与响应对象关联的一整套方法 - JSP - 服务器响应

out对象

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

初始JspWriter对象的实例化取决于页面是否缓冲。 通过使用page指令的buffered = 'false'属性,可以轻松关闭buffered = 'false'

JspWriter对象包含与java.io.PrintWriter类相同的大多数方法。 但是,JspWriter还有一些其他方法可用于处理缓冲。 与PrintWriter对象不同,JspWriter会抛出IOExceptions

下表列出了我们将用于编写boolean char, int, double, object, String等的重要方法。

S.No. 方法和描述
1

out.print(dataType dt)

打印数据类型值

2

out.println(dataType dt)

打印数据类型值,然后使用换行符终止该行。

3

out.flush()

冲洗流。

会话对象

session对象是javax.servlet.http.HttpSession一个实例,其行为与Java Servlets下会话对象的行为完全相同。

会话对象用于跟踪客户端请求之间的客户端会话。 我们将在后续章节中介绍会话对象的完整用法 - JSP - 会话跟踪

应用程序对象

应用程序对象是生成的Servlet的ServletContext对象的直接包装器,实际上是javax.servlet.ServletContext对象的实例。

该对象是JSP页面整个生命周期的表示。 初始化JSP页面时会创建此对象,并且在jspDestroy()方法删除JSP页面时将删除该对象。

通过向应用程序添加属性,可以确保构成Web应用程序的所有JSP文件都可以访问它。

我们将在JSP - Hits Counter章节中检查Application Object的使用。

配置对象

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

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

以下config方法是您可能使用的唯一方法,其用法很简单 -

config.getServletName();

这将返回servlet名称,该《servlet-name》WEB-INF\web.xml文件中定义的《servlet-name》元素中包含的字符串。

pageContext对象

pageContext对象是javax.servlet.jsp.PageContext对象的一个​​实例。 pageContext对象用于表示整个JSP页面。

此对象旨在作为访问有关页面信息的方法,同时避免大多数实现细节。

此对象存储对每个请求的请求和响应对象的引用。 application, config, session和输出对象是通过访问此对象的属性派生的。

pageContext对象还包含有关发布到JSP页面的指令的信息,包括缓冲信息,errorPageURL和页面范围。

PageContext类定义了几个字段,包括PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE,APPLICATION_SCOPE ,它们标识了四个范围。 它还支持40多种方法,其中大约一半是从javax.servlet.jsp.JspContext class继承的。

其中一个重要的方法是removeAttribute 。 此方法接受一个或两个参数。 例如, pageContext.removeAttribute ("attrName")从所有范围中删除该属性,而以下代码仅从页面范围中删除它 -

pageContext.removeAttribute("attrName", PAGE_SCOPE);

可以在JSP - File Uploading章节中检查pageContext的使用。

页面对象

此对象是对页面实例的实际引用。 它可以被认为是表示整个JSP页面的对象。

页面对象实际上是this对象的直接同义词。

异常对象

异常对象是一个包装器,包含从上一页抛出的异常。 它通常用于生成对错误条件的适当响应。

我们将在JSP - 异常处理章节中介绍该对象的完整用法。

↑回到顶部↑
WIKI教程 @2018