Jsp内置对象详解

来源:互联网 发布:windows不能切换到mac 编辑:程序博客网 时间:2024/06/06 02:56

内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用。
Jsp内置了9个对象,定义和作用如下:

1.page对象
page对象代表Jsp页面本身,是this引用的一个代码词。类型为java.lang.Object类型,作用域为page

2.config对象
config对象是ServletConfig类的一个对象,存放着Servlet初始化信息,类型为javax.servlet.ServletConfig类型,作用域为page
常用的方法如下:
getInitParameter(name):获取指定名字的Servlet初始化参数值
getInitParameters():获取Servlet初始化所有参数列表,返回一个枚举实例
getServletContext():取得Servlet上下文(ServletContext),ServletContext即Servlet上下文对象,该对象表示当前的web应用环境信息,一个Web应用只会创建一个ServletContext对象。
Web容器启动的时候,它会为每个Web应用程序都创建一个对应的ServletContext对象,它代表当前的web应用。
getServletName():取得生成的Servlet的名字。

3.out对象
Jsp页面的主要目的是动态产生客户端需要的HTML结果,我们可以通过out.print()和out.println()来输出结果。此外out对象还提供了一些其他方法来控制管理输出缓存区和输出流。

4.response对象
response对象用于将服务器端数据发送到客户端,可通过在客户端浏览器显示、用户浏览页面的重定向以及在客户端创建Cookies等实现。
response对象实现HttpServletResponse接口,可以对客户的请求做出动态的响应,向客户端发送数据,如Cookies、Http文件的头信息等,一般是HttpServletResponse类或其子类的一个对象。以下是response对象的主要方法:
addHeader(String name,String value):添加HTTP头文件,该头文件将会传到客户端去,如果有同名头文件存在,那么原来的头文件会被覆盖。
setHeader(String name,String value):设定指定名字的HTTP文件头的值,如果该值存在,那么他将会被新的值覆盖。
containsHeader(String name):判断指定名字的HTTP文件头是否存在,并返回布尔值。
flushBuffer():强制将缓存区的内容发送到客户端。
addCookie(Cookie cookie):添加一个Cookie对象,用来保存客户端的用户信息,可以用request对象的getCookies()方法获得这个Cookie
sendError(int):向客户端发送错误信息。例如505,404
sendRedirect(url):把响应发送到另一个指定的页面进行处理。

5.Request对象
Request对象可以对在客户端请求中给出的信息进行访问,该对象包含了所有有关当前浏览器请求的信息,他实现了javax.servlet.http.HttpServletRequest接口。Request对象包括很多方法,下面介绍其主要的方法:
getParameter(String name):以字符串的形式返回客户端的某一个请求参数的值,该参数有name指定。
getParameterValue(String name):以字符串数组的返回指定参数所有值
getParameterNames():返回客户端传送给服务器端的所有的参数名,结果是个枚举类型的实例。
getAttribute(String name):返回name指定的属性值,若不存在则返回null。
setAttribute(String name,Object obj):设置名为name的request参数值的为obj。
getCookies():返回客户端的Cookie对象,结果是一个Cookie数组。
getHeader(String name):获得HTTP请求头。

6.session对象
session对象是一种服务器单独处理和记录用户端使用者信息的技术。当使用者与服务器联机时服务器可以给每个上网的使用者一个session。这些session都是独立的,服务器可以借此来辨别使用者的信息,进而提供独立的服务。session对象引用javax.servlet.http.HttpSession对象,它封装了属于客户端回话的所有信息。session对象的主要方法如下:
getAttribute(String name):获得指定名字的属性,如果该属性不存在,则返回null
getAttributeNames():返回session对象所有属性对象。
getId():返回session对象在服务器端的编号。
getMaxInactiveinterval():获取session对象的生存时间,单位为秒。
set方法省略

7.application对象
application对象为多个应用程序保存信息,与session对象不同的是,所有用户都共同使用一个application对象。
主要的方法如下:
getServlet(Stringname) 返回指定名的Servlet
getServlets() 返回所有Servlet的枚举
getServletNames() 返回所有Servlet名的枚举
getRequestDispatcher(Stringuripath) 返回指定资源的RequestDispatcher对象
getAttribute(Stringname) 返回给定名的属性值

8.exception对象
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产
生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,
否则无法编译。他实际上是Java.lang.Throwable的对象
主要的方法如下:
getMessage() 返回描述异常的消息
toString() 返回关于异常的简短描述消息
printStackTrace() 显示异常及其栈轨迹
FillInStackTrace() 重写异常的执行栈轨迹

9.pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是
说他可以访问到本页所在的SESSION,也可以取本页面所在的application的
某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫
pageContext。
主要的方法如下:
getOut() 返回当前客户端响应被使用的JspWriter流(out)
getSession() 返回当前页中的HttpSession对象(session)
getPage() 返回当前页的Object对象(page)
getRequest() 返回当前页的ServletRequest对象(request)
getResponse() 返回当前页的ServletResponse对象(response)
getException() 返回当前页的Exception对象(exception)
getServletConfig() 返回当前页的ServletConfig对象(config)
ServletContextgetServletContext() 返回当前页的ServletContext对象(application)
setAttribute(Stringname,Objectattribute) 设置属性及属性值
setAttribute(Stringname,Objectobj,intscope) 在指定范围内设置属性及属性值
getAttribute(Stringname) 取属性的值
getAttribute(Stringname,intscope) 在指定范围内取属性的值
findAttribute(Stringname) 寻找一属性,返回起属性值或NULL
removeAttribute(Stringname) 删除某属性
removeAttribute(Stringname,intscope) 在指定范围删除某属性
getAttributeScope(Stringname) 返回某属性的作用范围
getAttributeNamesInScope(intscope) 返回指定范围内可用的属性名枚举
release() 释放pageContext所占用的资源
forward(StringrelativeUrlPath) 使当前页面重导到另一页面
include(StringrelativeUrlPath) 在当前位置包含另一文件

原创粉丝点击