您的位置:首页 > Web前端 > JavaScript

Jsp内置对象详解

2017-07-29 23:06 761 查看
内置对象(又叫隐含对象,有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) 在当前位置包含另一文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: