JSP 9 大内置对象详解
内置对象特点:
1. 由JSP规范提供,不用编写者实例化。
2. 通过Web容器实现和管理
3. 所有JSP页面均可使用
4. 只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)
常用内置对象:
1. 输出输入对象:request对象、response对象、out对象
2. 通信控制对象:pageContext对象、session对象、application对象
3. Servlet对象:page对象、config对象
4. 错误处理对象:exception对象
对象常用方法说明:
1.out对象(数据流 javax.servlet.jsp.jspWriter)
| 方法名 | 说明 |
| print或println | 输出数据 |
| newLine | 输出换行字符 |
| flush | 输出缓冲区数据 |
| close | 关闭输出流 |
| clear | 清除缓冲区中数据,但不输出到客户端 |
| clearBuffer | 清除缓冲区中数据,输出到客户端 |
| getBufferSize | 获得缓冲区大小 |
| getRemaining | 获得缓冲区中没有被占用的空间 |
| isAutoFlush | 是否为自动输出 |
2.request对象(请求信息 javax.servlet.http.HttpServletrequest)
| 方法名 | 说明 |
| isUserInRole | 判断认证后的用户是否属于某一成员组 |
| getAttribute | 获取指定属性的值,如该属性值不存在返回Null |
| getAttributeNames | 获取所有属性名的集合 |
| getCookies | 获取所有Cookie对象 |
| getCharacterEncoding | 获取请求的字符编码方式 |
| getContentLength | 返回请求正文的长度,如不确定返回-1 |
| getHeader | 获取指定名字报头值 |
| getHeaders | 获取指定名字报头的所有值,一个枚举 |
| getHeaderNames | 获取所有报头的名字,一个枚举 |
| getInputStream | 返回请求输入流,获取请求中的数据 |
| getMethod | 获取客户端向服务器端传送数据的方法 |
| getParameter | 获取指定名字参数值 |
| getParameterNames | 获取所有参数的名字,一个枚举 |
| getParameterValues | 获取指定名字参数的所有值 |
| getProtocol | 获取客户端向服务器端传送数据的协议名称 |
| getQueryString | 获取以get方法向服务器传送的查询字符串 |
| getRequestURI | 获取发出请求字符串的客户端地址 |
| getRemoteAddr | 获取客户端的IP地址 |
| getRemoteHost | 获取客户端的名字 |
| getSession | 获取和请求相关的会话 |
| getServerName | 获取服务器的名字 |
| getServerPath | 获取客户端请求文件的路径 |
| getServerPort | 获取服务器的端口号 |
| removeAttribute | 删除请求中的一个属性 |
| setAttribute | 设置指定名字参数值 |
3.response对象(响应 javax.servlet.http.HttpServletResponse)
| 方法名 | 说明 |
| addCookie | 添加一个Cookie对象 |
| addHeader | 添加Http文件指定名字头信息 |
| containsHeader | 判断指定名字Http文件头信息是否存在 |
| encodeURL | 使用sessionid封装URL |
| flushBuffer | 强制把当前缓冲区内容发送到客户端 |
| getBufferSize | 返回缓冲区大小 |
| getOutputStream | 返回到客户端的输出流对象 |
| sendError | 向客户端发送错误信息 |
| sendRedirect | 把响应发送到另一个位置进行处理 |
| setContentType | 设置响应的MIME类型 |
| setHeader | 设置指定名字的Http文件头信息 |
4.session对象(会话 javax.servlet.http.HttpSession)
| 方法名 | 说明 |
| getAttribute | 获取指定名字的属性 |
| getAttributeNames | 获取session中全部属性名字,一个枚举 |
| getCreationTime | 返回session的创建时间 |
| getId | 获取会话标识符 |
| getLastAccessedTime | 返回最后发送请求的时间 |
| getMaxInactiveInterval | 返回session对象的生存时间单位千分之一秒 |
| invalidate | 销毁session对象 |
| isNew | 每个请求是否会产生新的session对象 |
| removeAttribute | 删除指定名字的属性 |
| setAttribute | 设定指定名字的属性值 |
5.pageContext对象(页面上下文 javax.servlet.jsp.PageContext)
| 方法名 | 说明 |
| forward | 重定向到另一页面或Servlet组件 |
| getAttribute | 获取某范围中指定名字的属性值 |
| findAttribute | 按范围搜索指定名字的属性 |
| removeAttribute | 删除某范围中指定名字的属性 |
| setAttribute | 设定某范围中指定名字的属性值 |
| getException | 返回当前异常对象 |
| getRequest | 返回当前请求对象 |
| getResponse | 返回当前响应对象 |
| getServletConfig | 返回当前页面的ServletConfig对象 |
| getServletContext | 返回所有页面共享的ServletContext对象 |
| getSession | 返回当前页面的会话对象 |
6.application对象(应用程序 javax.servlet.ServletContext)
| 方法名 | 说明 |
| getAttribute | 获取应用对象中指定名字的属性值 |
| getAttributeNames | 获取应用对象中所有属性的名字,一个枚举 |
| getInitParameter | 返回应用对象中指定名字的初始参数值 |
| getServletInfo | 返回Servlet编译器中当前版本信息 |
| setAttribute | 设置应用对象中指定名字的属性值 |
7.config对象(Servlet的配置信息 javax.servlet.ServletConfig)
| 方法名 | 说明 |
| getServletContext | 返回所执行的Servlet的环境对象 |
| getServletName | 返回所执行的Servlet的名字 |
| getInitParameter | 返回指定名字的初始参数值 |
| getInitParameterNames | 返回该JSP中所有的初始参数名,一个枚举 |
8.page对象(当前JSP的实例,java.lang.object)
它代表JSP被编译成Servlet,可以使用它来调用Servlet类中所定义的方法
9.exception对象(运行时的异常,java.lang.Throwable)
被调用的错误页面的结果,只有在错误页面中才可使用,
即在页面指令中设置:<%@page isErrorPage=“true”%>
Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。
Response(Javax.servlet.ServletResponse)作为JSP页面处理结果返回给用户的响应存储在该对象中。并提供了设置响应内容、响应头以及重定向的方法(如cookies,头信息等)
Out(Javax.servlet.jsp.JspWriter)用于将内容写入JSP页面实例的输出流中,提供了几个方法使你能用于向浏览器回送输出结果。
pageContext(Javax.servlet.jsp.PageContext)描述了当前JSP页面的运行环境。可以返回JSP页面的其他隐式对象及其属性的访问,另外,它还实现将控制权从当前页面传输至其他页面的方法。
Session(javax.servlet.http.HttpSession)会话对象存储有关此会话的信息,也可以将属性赋给一个会话,每个属性都有名称和值。会话对象主要用于存储和检索属性值。
Application(javax.servle.ServletContext)存储了运行JSP页面的servlet以及在同一应用程序中的任何Web组件的上下文信息。
Page(Java.lang.Object)表示当前JSP页面的servlet实例
Config(javax.servlet.ServletConfig)该对象用于存取servlet实例的初始化参数。
Exception(Javax.lang.Throwable)在某个页面抛出异常时,将转发至JSP错误页面,提供此对象是为了在JSP中处理错误。只有在错误页面中才可使用<%@page isErrorPage=“true”%>
| Jsp内置对象 | 功能 | 主要方法 |
| out | 向客户端输出数据 | print() println() flush() clear() isAutoFlush() getBufferSize() close() ………… |
| request | 向客户端请求数据 | getAttributeNames() getCookies() getParameter() getParameterValues() setAttribute() getServletPath() ………….. |
| response | 封装了jsp产生的响应,然后被发送到客户端以响应客户的请求 | addCookie() sendRedirect() setContentType() flushBuffer() getBufferSize() getOutputStream() sendError() containsHeader()…………… |
| application |
|
|
| config | 表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet | getServletContext() getServletName() getInitParameter() getInitParameterNames()…………… |
| page | Jsp实现类的实例,它是jsp本身,通过这个可以对它进行访问 | flush()……… |
| pagecontext | 为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的该问 | forward() getAttribute() getException() getRequest() getResponse() getServletConfig() getSession() getServletContext() setAttribute() removeAttribute() findAttribute() …………… |
| session | 用来保存每个用户的信息,以便跟踪每个用户的操作状态 | getAttribute() getId() getAttributeNames() getCreateTime() getMaxInactiveInterval() invalidate() isNew() |
| exception | 反映运行的异常 | getMessage()…………
|
JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
1.request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
2.response对象
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
3.session对象
session对象指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。
4.out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象
5.page对象
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例
6.application对象
application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
7.exception对象
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象
8.pageContext对象 pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。
9.config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
本文详细阐述了JSP中的9大内置对象及其特点、常用方法,并提供了对象使用方法的说明,帮助开发者更好地理解并利用这些内置对象进行高效开发。
2034

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



