一、前言
今天在博客分类中新建了 JSP分类,打算日后将学习的JSP知识进行整理。好久之前就学过JSP,但是发现自己已经遗忘了。决定今后要将这块知识捡起来。这次便整理学习JSP九大内置对象。
二、JSP简介
官网介绍:
JavaServer Pages (JSP)技术提供了一种简化的、快速创建动态web内容的方法。JSP技术支持快速开发与服务器和平台无关的基于web的应用程序。
简单理解:
JSP的全称为JavaServer Pages,一种动态网页开发技术。使用JSP标签可以在HTML页面中直接写入Java代码。
三、九大内置对象
JSP九大内置对象,也被称为隐含对象。通过内置及隐含词汇我们便可以知道这些对象是不需要预先声明就可以直接使用的。
那么九大内置对象有哪些呢?
如上图所示,这些内置对象的可分为4类:
- 输入/输出有关对象:out、request、response
- 作用域有关对象:pageContext、application、session
- Servlet有关对象:page、config
- 错误处理有关对象:exception
JSP九大内置对象说明:
内置对象 | 所属类 | 说明 |
---|---|---|
out | javax.servlet.jsp.JSPWriter | PrintWriter类的实例,向客户端浏览器输出数据。 |
request | javax.servlet.http.HttpServletRequest | HttpServletRequest类的实例,为HTTP servlet提供请求信息。 |
response | javax.servlet.http.HttpServletResponse | 客户端的响应信息 |
pageContext | javax.servlet.jsp.PageContext | JSP页面的上下文,用于访问页面属性 |
application | javax.servlet.ServletContext | 提供全局的数据,一旦创建就保持到服务器关闭 |
session | javax.servlet.http.HttpSession | session会话 |
page | java.lang.Object | JSP页面本身 |
config | javax.servlet.servletConfig | Servlet的配置对象 |
exception | java.lang.Throwable | 异常信息 |
3.1 out对象
JSP页面中的操作和模板数据是使用JspWriter对象编写的,该对象由隐式变量out引用,该变量是使用PageContext对象中的方法自动初始化的。
主要方法:
方法 | 说明 |
---|---|
clear() | 清除缓冲区的内容。 |
clearBuffer() | 清除缓冲区的当前内容。 |
close() | 关闭流,首先需要刷新流。 |
flush() | 刷新流。 |
getBufferSize() | 此方法返回JspWriter使用的缓冲区的大小。 |
getRemaining() | 此方法返回缓冲区中未使用的字节数。 |
isAutoFlush() | 此方法指示JspWriter是否自动刷新。 |
newLine() | 写一个行分隔符。 |
print(dataType dt) | 输出数据。(dataType可为boolean、char、char[]、double、float、int、long、Object、String) |
println(dataType dt) | 输出数据并换行。(dataType可为boolean、char、char[]、double、float、int、long、Object、String、无参数即换行 ) |
3.2 request对象
扩展ServletRequest接口,为HTTP servlet提供请求信息。
servlet容器创建一个HttpServletRequest对象,并将其作为参数传递给servlet的服务方法(doGet、doPost等)。
主要方法:
方法 | 说明 |
---|---|
setAttribute(String name, Object o) | 在此请求中存储属性。在请求之间重置属性。此方法最常与RequestDispatcher一起使用。 |
getAttribute(String name) | 将指定属性的值作为对象返回,如果不存在给定名称的属性,则返回null。 |
removeAttribute(String name) | 从该请求中删除一个属性。通常不需要此方法,因为属性仅在处理请求时保持不变。 |