JSP内置对象
JSP提供了容器实现和管理的内置对象,也可以称之为隐含对象,这些内置对象不需要通过JSP页面编写来实例化,在所有的JSP页面编写实例化,在所有的JSP页面中都可以直接使用,它起到简化页面的作用。
在使用内置对象时,不需要先定义这些对象,直接使用即可
JSP内置对象
- out对象
- 管理响应缓冲
request对象
request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。用于处理HTTP请求的各种参数。
访问请求参数
在页面中定义超链接
在delete.jsp页面,可以通过request对象的getParameter()方法获取传递的参数值
创建文件,并添加一个超链接
创建文件deal.jsp,并使用方法getParameter()
在作用域中管理属性
在进行请求转发时,需要将一些数据传递到转发后的页面进行处理。这时候就用到request对象的setAttribute()
方法将数据保存到request范围内的变量中
setAttribute()的语法格式:
获取客户端信息
通过request对象可以获取客户端的相关信息。例如Http报头信息、客户信息提交方式等。
方法 | 含义 |
getHeader(String name ) | 获得HTTP协议定义的表头信息 |
getHeaders(String name) | 返回指定的名字的request Header的所有值,其结果是一个枚举类型实例 |
getHeadersNames() | 返回所有request Header的名字,其结果是一个枚举类型的实例 |
getMethod() | 获得客户端向服务器端传送数据的方法,如get、post、header、trace等。 |
getProtocol() | 获得客户端向服务器端传送数据所依据的的协议名称 |
getRequestURI() | 获得发出请求字符串的客户端地址,不包括请求的参数 |
getRequestURL() | 获取发出请求字符串的客户端地址 |
getRealPath() | 返回当前请求文件的绝对路径 |
getRemoteAddr() | 获取客户端的IP地址 |
getRemoteHost() | 获取客户端的主机名 |
getServerName() | 获取服务器的名字 |
getServerPath() | 获取客户端所请求的脚本文件的文件路径 |
getServerPort() | 获取服务端的端口号 |
response对象
用于响应客户请求,向客户端输出信息。
作用域范围page。他封装了JSP产生的响应,并发客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至文件。response对象在JSP页面内有效
可以用来它所提供的sendRedirect(String path)方法将网页重定向到另一个页面,如
session对象
session在网络中是会话的意思。通过session可以在应用程序的Web页面进行跳转时,保存用户的状态,是整个用户会话一直存在,直到关闭浏览器。如果客户端长时间不向服务器发出请求,session对象就会自动消失。这个时间取决于服务器。
创建即获取客户的会话
通过session对象可以存储或读取客户相关的信息
保存在session范围内
获取保存在session范围内的信息
删除会话中的对象
application对象
用于保存所有应用程序中的公有数据。启动时自动创建,服务器停止时销毁。没有被销毁,所有用户都可以共享该
application对象。他的生命周期比session长,类似于全局变量。
访问应用程序初始化参数
out对象
是向客户端浏览器输出信息。
print()和println()都是用于向浏览器输出信息,唯一不同就是输出和输出换行
管理响应缓冲
out对象的类一个比较重要的功能就是对缓冲区进行管理。
方法 | 含义 |
clear() | 清楚缓存区的内容 |
clearBuffer() | 清楚当前缓存区的内容 |
flush() | 刷新流 |
isAutoFlush() | 检测当前缓冲区已满时是自动清空,还是抛出异常 |
getBufferSize() | 获取缓存区的大小 |
pageContext对象
获取页面上下文,可以获取JSP页面的request、response、session、application、exception等对象。
创建和初始化都是由容器来完成的
方法 | 含义 |
forward(java.lang.String relativeUtlpath) | 把页面转发到另一个页面 |
getAttribute(String name) | 获取参数值 |
getAttributeNamesInScope(int scope) | 获取某范围的参数名称集合返回值为java.util.Enumeration对象 |
getException() | 获取异常对象 |
getRequest() | 获取请求对象 |
getResponse() | 获取响应对象 |
getSession() | 获取会话对象 |
getOut() | 获取输出对象 |
getApplication | 获取应用程序对象 |
setAttribute() | 为指定范围内的属性设置属性值 |
removeAttribute() | 删除指定范围的指定属性 |
config对象
它主要用于取得服务器的配置信息,通过pageContext对象的getServletConfig()方法可以获取一个config对象
方法 | 含义 |
getServletContext() | 获取Servlet上下文 |
getServletName() | 获取服务器名称 |
getInitParameter() | 获取服务器所有初始参数名称,返回值为Enumeration对象 |
getInitParameterNames() | 获取服务器中name参数的所有值 |
page对象
page对象代表JSP本身,只有在JSP页面是合法的。
可以看作是this的别名。
方法 | 含义 |
getClass() | 返回当前Object的类 |
hashCode() | 返回该Object的哈西代码 |
toString() | 把该Object该类转换成字符串 |
equals(Object c) | 比较该对象和指定的对象是否相等 |
exception对象
用来处理JSP文件执行时发生的所有错误和异常,只有在page指令中设置isErrorPage的属性值为true的页面中才可以被使用
方法 | 含义 |
getMessage() | 返回exception对象的异常信息字符串 |
getLocalizedmessage() | 返回本地化的异常错误 |
toString() | 返回关于异常错误的简单信息描述 |
fillInStackTrace() | 重写异常错误的栈执行轨迹 |