深入理解JSP中的九个核心内置对象
JSP内置对象
JSP提供了容器实现和管理的内置对象,也可以称之为隐含对象,这些内置对象不需要通过JSP页面编写来实例化,在所有的JSP页面编写实例化,在所有的JSP页面中都可以直接使用,它起到简化页面的作用。
在使用内置对象时,不需要先定义这些对象,直接使用即可
JSP内置对象
- âJSPå 置对象â
- ârequest对象â
- â访é®è¯·æ±åæ°â
- âå¨ä½ç¨åä¸ç®¡çå±æ§â
- âè·å客æ·ç«¯ä¿¡æ¯â
- âresponse对象â
- âsession对象â
- âå建å³è·å客æ·çä¼è¯â
- âå é¤ä¼è¯ä¸ç对象â
- âapplication对象â
- â访é®åºç¨ç¨åºåå§ååæ°â
- âout对象â
- â管çååºç¼å²â
- âpageContext对象â
- âconfig对象â
- âpage对象â
- âexception对象â
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() |
重写异常错误的栈执行轨迹 |
上一篇: 理解JSP中的9大内置对象与6个基础操作