JSP内置对象
1. 基本概念
- 在JSP程序中有9个内置对象由容器为用户进行实例化,程序员可以不用定义就直接使用这些变量。
- 在JSP转换成Servlet后,会自动追加这些变量的定义,使用内置对象可以简化JSP的开发。
2.对象名称
|
对象变量 |
对象类型 |
作用 |
|
out |
JSPWriter |
输出流 |
|
request |
HttpServletRequest |
请求信息 |
|
response |
HttpServletResponse |
响应信息 |
|
session |
HttpSession |
会话 |
|
application |
ServletContext |
全局的上下文对象 |
|
pageContext |
PageContext |
JSP页面上下文 |
|
page |
Object |
JSP页面本身 |
|
config |
ServletConfig |
Servlet配置对象 |
|
exception |
Throwable |
捕获网页异常 |
2.1 out内置对象
out内置对象是一个缓冲的输出流,用来给客户端输出信息
常用方法如下:
|
方法声明 |
功能介绍 |
|
void println(String x) |
向客户端输出各种类型数据 |
|
void newLine() |
输出一个换行符 |
|
void close() |
关闭输出流 |
|
int getBufferSize() |
返回缓冲区的大小 |
|
int getRemaining() |
返回缓冲区中未使用的字节数 |
|
void flush() |
输出缓冲区里的数据 |
|
void clearBuffer() |
清除缓冲区里的数据,同时把数据输出到客户端 |
|
void clear() |
清除缓冲区里的数据,但不把数据输出到客户端 |
2.2 request内置对象
- request对象封装的是调用JSP页面的请求信息,它是HttpServletRequest接口的一个实例。
- 该对象的属性值只在一个请求中保存。
常用方法如下:
|
方法声明 |
功能介绍 |
|
String getMethod() |
返回客户端向服务器端传送数据的方式 |
|
String getParameter(String name) |
返回客户端向服务器端传送的参数值 |
|
String[] getParameterValues( String name) |
获得指定参数的所有值 |
|
String getRequestURI() |
获得请求地址 |
|
String getRemoteAddr() |
返回发送请求的客户端或最后一个代理的IP地址 |
|
int getRemotePort() |
返回发送请求的客户端或最后一个代理的端口号 |
|
String getServerName() |
获取服务器的名字 |
|
int getServerPort() |
获取服务器端的端口 |
|
void setAttribute(String name,Object o) |
在此请求中存储属性。属性在请求之间重置 |
|
Object getAttribute(String name) |
将指定属性的值作为对象返回,若不存在则返回空值 |
2.3 response内置对象
- response对象用于给客户端相应输出处理结果,它是HttpServletResponse接口的一个实例。
- 经常用于设置HTTP标题,添加cookie、设置响应内容的类型和状态、发送HTTP重定向和编码URL。
常用方法如下:
|
方法声明 |
功能介绍 |
|
void addCookie(Cookie cookie) |
添加一个Cookie对象,用于在客户端保存特定的信息 |
|
void addHeader(String name, String value) |
添加HTTP头信息,该Header信息将发送到客户端 |
|
boolean containsHeader(String name) |
判断指定名字的HTTP文件头是否存在 |
|
void sendRedirect(String location) |
重定向JSP文件 |
|
void setContentType(String type) |
设置类型与编码方式 |
2.4 session内置对象
- session对象表示浏览器和服务器之间的一次会话,一次会话可以包含多次请求,在多次请求之间 可以借助session对象存储信息,它是HttpSession类型的一个实例。
- 该对象的属性值在一次会话范围中保存,保存在服务器端,只要不关闭浏览器,默认半个小时内都 可以访问。
常用方法如下:
|
方法声明 |
功能介绍 |
|
void setAttribute(String name, Object value) |
使用指定的名称将对象绑定到此会话 |
|
Object getAttribute(String name) |
返回在此会话中用指定名称绑定的对象,如果没有对象在该名称下绑定则返回空值 |
2.5 application内置对象
- application对象是一个web程序的全局变量,它是ServletContext类型的一个实例。
- 在整个服务器上保存数据,所有用户共享。
常用方法如下:
|
方法声明 |
功能介绍 |
|
void setAttribute(String name, Object object) |
将对象绑定到此servlet上下文中的给定属性名 |
|
Object getAttribute(String name) |
返回给定名称的servlet容器属性,若没有该名称的属性返回null |
2.6 pageContext内置对象
- pageContext对象是PageContext类型的对象,可以使用这个对象来管理其他的隐含对象。
- 只在一个页面中保存数据
|
方法声明 |
功能介绍 |
|
void setAttribute(String name, Object value, int scope) |
使用适当的作用域设置指定的名称和值 |
|
Object getAttribute(String name, int scope) |
返回指定作用域中名称关联的对象,若找不到则返回null |
|
ServletRequest getRequest() |
获取请求对象 |
|
ServletResponse getResponse() |
获取响应对象 |
|
HttpSession getSession() |
获取会话对象 |
|
ServletConfig getServletConfig() |
获取配置对象 |
|
JspWriter getOut() |
获取输出对象 |
|
Object getPage() |
获取页面对象 |
|
Exception getException() |
获取异常对象 |
2.7 exception内置对象
- exception 对象是Throwable的实例,表示的是JSP的异常信息。
- 如果要使用它,必须将对应页面page指令的isErrorPage属性设置成true。
- 单个页面的处理方式
<%@page errorPage="error.jsp" %>
- 在web.xml中配置统一的异常处理页面
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
节选自拉钩教育JAVA系列课程
本文详细介绍了JSP内置对象的功能及使用方法,包括输出流out、请求信息request、响应信息response、会话session、全局变量application等9个内置对象。通过这些内置对象,开发者能够更加高效地进行JSP页面开发。
1619

被折叠的 条评论
为什么被折叠?



