- JSP 基础教程
- JSP - 主页
- JSP - 概述
- JSP - 环境设置
- JSP-架构
- JSP-生命周期
- JSP - 语法
- JSP - 指令
- JSP - 操作
- JSP - 隐式对象
- JSP - 客户请求
- JSP——服务器响应
- JSP - HTTP 状态代码
- JSP - 表单处理
- JSP - 编写过滤器
- JSP - Cookie 处理
- JSP - 会话跟踪
- JSP-文件上传
- JSP - 处理日期
- JSP - 页面重定向
- JSP - 点击计数器
- JSP - 自动刷新
- JSP - 发送电子邮件
- 高级 JSP 教程
- JSP - 标准标签库
- JSP - 数据库访问
- JSP - XML 数据
- JSP-Java Bean
- JSP - 自定义标签
- JSP——表达式语言
- JSP——异常处理
- JSP-调试
- JSP-安全性
- JSP-国际化
- JSP 有用资源
- JSP - 问题与解答
- JSP - 快速指南
- JSP - 有用的资源
- JSP - 讨论
JSP - 隐式对象
在本章中,我们将讨论 JSP 中的隐式对象。这些对象是JSP容器在每个页面中提供给开发人员的Java对象,开发人员可以直接调用它们,而无需显式声明。JSP 隐式对象也称为预定义变量。
下表列出了 JSP 支持的九个隐式对象 -
编号 | 对象及描述 |
---|---|
1 | 要求 这是与请求关联的HttpServletRequest对象。 |
2 | 回复 这是与客户端响应关联的HttpServletResponse对象。 |
3 | 出去 这是用于将输出发送到客户端的PrintWriter对象。 |
4 | 会议 这是与请求关联的HttpSession对象。 |
5 | 应用 这是与应用程序上下文关联的ServletContext对象。 |
6 | 配置 这是与页面关联的ServletConfig对象。 |
7 | 页面上下文 这封装了服务器特定功能的使用,例如更高性能的JspWriters。 |
8 | 页 这只是this的同义词,用于调用翻译后的 servlet 类定义的方法。 |
9 | 例外 Exception对象允许指定的JSP访问异常数据。 |
请求对象
request 对象是javax.servlet.http.HttpServletRequest对象的实例。每次客户端请求页面时,JSP 引擎都会创建一个新对象来表示该请求。
request 对象提供了获取 HTTP 标头信息的方法,包括表单数据、cookie、HTTP 方法等。
我们可以在后续章节中介绍与请求对象相关的完整方法集 - JSP - 客户端请求。
响应对象
响应对象是javax.servlet.http.HttpServletResponse对象的实例。正如服务器创建请求对象一样,它也创建一个对象来表示对客户端的响应。
响应对象还定义了处理创建新 HTTP 标头的接口。通过这个对象,JSP 程序员可以添加新的 cookie 或日期戳、HTTP 状态代码等。
我们将在后续章节中介绍与响应对象相关的完整方法集 - JSP - 服务器响应。
输出对象
out 隐式对象是javax.servlet.jsp.JspWriter对象的实例,用于发送响应中的内容。
根据页面是否缓冲,初始 JspWriter 对象的实例化方式有所不同。使用page 指令的buffered = 'false'属性可以轻松关闭缓冲。
JspWriter 对象包含与java.io.PrintWriter类大部分相同的方法。然而,JspWriter 有一些额外的方法旨在处理缓冲。与 PrintWriter 对象不同,JspWriter 抛出IOExceptions。
下表列出了我们将用来编写boolean char、int、double、object、String等的重要方法。
编号 | 方法及说明 |
---|---|
1 | out.print(数据类型 dt) 打印数据类型值 |
2 | out.println(数据类型 dt) 打印数据类型值,然后用换行符终止该行。 |
3 | 出.flush() 冲洗溪流。 |
会话对象
会话对象是javax.servlet.http.HttpSession的实例,其Behave与会话对象在 Java Servlet 下的Behave完全相同。
会话对象用于跟踪客户端请求之间的客户端会话。我们将在后续章节中介绍会话对象的完整用法 - JSP - 会话跟踪。
应用对象
应用程序对象是生成的 Servlet 的ServletContext对象的直接包装器,实际上是javax.servlet.ServletContext对象的实例。
该对象是 JSP 页面整个生命周期的表示。该对象在 JSP 页面初始化时创建,并在通过jspDestroy()方法删除 JSP 页面时删除。
通过向应用程序添加属性,您可以确保组成 Web 应用程序的所有 JSP 文件都可以访问它。
我们将在JSP - Hits Counter章节中检查应用程序对象的使用。
配置对象
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 页面。
该对象旨在作为访问有关页面的信息的方法,同时避免大多数实现细节。
该对象存储对每个请求的请求和响应对象的引用。application 、config、session和 out 对象是通过访问该对象的属性来派生的。
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-文件上传章节。
页面对象
该对象是对页面实例的实际引用。可以将其视为代表整个 JSP 页面的对象。
page 对象实际上是this对象的直接同义词。
异常对象
异常对象是一个包装器,包含从上一页抛出的异常。它通常用于生成对错误情况的适当响应。
我们将在JSP - 异常处理章节中介绍该对象的完整用法。