JSP 隐式对象
-
隐式对象
在本章中,我们将讨论JSP中的隐式对象。这些对象是JSP容器在每个页面中提供给开发人员的Java对象,开发人员可以直接调用它们而无需明确声明。JSP隐式对象也称为预定义变量。下表列出了JSP支持的九个隐式对象-对象 描述 request 这是与请求关联的HttpServletRequest对象。 response 这是与对客户端的响应相关联的HttpServletResponse对象。 out 这是用于将输出发送到客户端的PrintWriter对象。 session 这是与请求关联的HttpSession对象。 application 这是与应用程序上下文关联的ServletContext对象。 config 这是与页面关联的ServletConfig对象。 pageContext 这封装了服务器特定功能的使用,例如更高性能的JspWriters。 page 这只是它的同义词,用于调用已翻译的Servlet类定义的方法。 Exception Exception对象允许指定的JSP访问异常数据。 -
request 对象
request对象是javax.servlet.http.HttpServletRequest对象的实例。每次客户请求页面时,JSP引擎都会创建一个新对象来表示该请求。request对象提供了获取HTTP标头信息的方法,包括表单数据,cookie,HTTP方法等。在“JSP-客户端请求”中,我们将介绍与请求对象相关的完整方法集。 -
response 对象
response对象是javax.servlet.http.HttpServletResponse对象的实例。正如服务器创建请求对象一样,它也创建一个对象来表示对客户端的响应。响应对象还定义了用于处理创建新HTTP标头的接口。通过此对象,JSP程序员可以添加新的cookie或日期戳,HTTP状态代码等。在“JSP服务器响应”中,我们将介绍与响应对象相关的完整方法集。 -
out 对象
out隐式对象是javax.servlet.jsp.JspWriter对象的实例,用于在响应中发送内容。初始JspWriter对象的实例化取决于页面是否被缓冲。使用page指令的buffered='false'属性可以很容易地关闭缓冲。JspWriter对象包含与java.io.PrintWriter类大多数相同的方法。但是,JspWriter具有一些其他设计用于处理缓冲的方法。与PrintWriter对象不同,JspWriter抛出IOExceptions。下表列出了我们将用于编写布尔char,int,double,object,String等的重要方法。- out.print(dataType dt) - 打印数据类型值
- out.println(dataType dt) - 打印数据类型值,然后以换行符结束该行。
- out.flush() - 冲洗流。
-
session 对象
session对象是javax.servlet.http.HttpSession的实例,其行为与session对象在Java Servlet下的行为完全相同。session对象用于跟踪客户端请求之间的客户端会话。我们将在“JSP-会话跟踪”中介绍session对象的完整用法。 -
application 对象
application对象是生成的Servlet的ServletContext对象的直接包装,实际上是javax.servlet.ServletContext对象的实例。该对象表示JSP页面在其整个生命周期中的状态。在初始化JSP页面时创建此对象,并在通过jspDestroy()方法删除JSP页面时将其删除。通过向应用程序添加属性,可以确保组成Web应用程序的所有JSP文件都可以访问它。我们将在“JSP-点击计数器”一章中检查application 对象的使用。 -
config 对象
config对象是javax.servlet.ServletConfig的实例,并且是生成的Servlet的ServletConfig对象的直接包装。该对象允许JSP程序员访问Servlet或JSP引擎初始化参数,例如路径或文件位置等。以下配置方法是您可能会使用的唯一方法,其用法很简单-config.getServletName();
这将返回servlet名称,该名称是WEB-INF\web.xml文件中定义的<servlet-name>元素中包含的字符串。 -
pageContext 对象
pageContext对象是javax.servlet.jsp.PageContext对象的实例。pageContext对象用于表示整个JSP页面。该对象旨在作为一种访问页面信息的方式,同时隐藏了大多数实现细节。该对象存储对请求的引用以及每个请求的响应对象。的应用程序,配置,会话,进出目的通过访问该对象的属性的。 pageContext对象还包含有关发布到JSP页面的指令的信息,包括缓冲信息,errorPageURL和页面作用域(scope)。PageContext类定义了几个字段,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE和APPLICATION_SCOPE,它们标识了四个范围。它还支持40多种方法,其中大约一半是从javax.servlet.jsp.JspContext类继承的。重要的方法之一是removeAttribute。此方法接受一个或两个参数。例如,pageContext.removeAttribute("attrName")从所有范围中删除该属性,而以下代码仅从page 作用域中删除该属性-pageContext.removeAttribute("attrName", PAGE_SCOPE);
可以在“JSP-文件上传”一章中检查pageContext的使用。 -
page 对象
page对象是对页面实例的实际引用。可以将其视为代表整个JSP页面的对象。page对象实际上是此对象的直接同义词。 -