jsp的九大内置对象

来源:互联网 发布:iphone4s越狱软件 编辑:程序博客网 时间:2024/05/16 03:24

1. JSP的内置对象(隐式对象)

   隐式对象:不需要定义,仍可以使用的对象。














2.作用域对象:

       拥有setAttribute和getAttribute的对象统称为作用域对象:

request :一次请求  响应完成  作用域为一次请求 一次请求响应完成后摧毁

session :一次请求 在当前会话超时之前 都存在 会话结束后摧毁

application :服务启动后 数据一直保留 直到服务重新启动或者关闭的时候摧毁

pageContext :页面上下文,所有与页面相关的对象都由他来管理和创建 他共享的数据只能在当前页面使用(只存在于jsp中)


3.九大内置对象的作用及其用法:

1:pageContext

pageContext对象的作用是取得任何范围的参数,通过他可以获取jsp页面的out,request,reponse,session,application ... 对象。

pageContext对象的创建和初始化都是有jsp容器完成的,在jsp页面中可以直接使用pageContext对象。

pageContext页面是上下文,所有的页面相关的对象都由pageContext来创建和管理的,他的共享数据只能在当前页面中使用。

pageContext的方法


2:request

request对象代表了客户端的请求信息,主要用于接受通过http协议传送到服务器的数据(头信息,系统信息,请求方式,请求信息 等)

request对象的作用域为一次请求

request对象获取客户端提交的数据时,经常会出现乱码的情况,必须要通过转码的方式对其进行特殊处理

request常用的方法如下:

getParameter(String strTextName)  获取表单提交的信息。

getProtocol() 获取客户使用的协议:

String strProtocol = request.getProtocol()

getServletPath() 获取客户提交信息的页面:

String strServlet = request.getServletPath();

getMethod() 获取客户提交信息的方式:

String strMethod = request.getMethod();

getHeader() 获取HTTP头文件中的accept,accept-encoding和Host的值,

String strHeader=request.getHeader();
getRermoteAddr() 获取客户的IP地址:

String strIP=request.getRemoteAddr();
getRemoteHost() 获取客户机的名称:

String clientName=request.getRemoteHost();
getServerName() 获取服务器名称:

 String serverName=request.getServerName();
getServerPort() 获取服务器的端口号:

 int serverPort=request.getServerPort();
getParameterNames() 获取客户端提交的所有参数的名字。

Enumeration enum = request.getParameterNames();  
while(enum.hasMoreElements())  {  
    Strings(String)enum.nextElement();  
    out.println(s);  
}  

3:response

response对象代表的是对客户端的响应,主要是将jsp容器处理过的对象响应到客户端。

response对象具有作用域,他只在jsp页面内响应。

response对象具有动态响应contentType属性,当一个用户访问jsp页面时,如果该页面用page指令设置页面的ContentType的属性是text/html。那么jsp引擎会按照这个属性值做出反应。

如果要动态改变,就需要使用response对象的setContentType(String s)方法来改变contentType的属性值(s可以是text/html,application/x-msecel,application/msword...),

有些时候响应客户时需要跳转页面,将客户重新引导至另一个页面,就可以使用重定向Response的sendRedirect(URL)方法,或者用请求转发response.setIntHeader("Refresh",10);  /  response.setHeader("Refresh","10,url=http://...");方法

4:session

session对象会在第一个jsp页面被装载时自动创建,完成会话期管理。

从第一个客户端打开浏览器并连接到服务器开始 到客户关闭浏览器时,这个服务器结束,被称为一个会话。

当同一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是同一个客户,就需要用到session对象。

当一个客户首次访问服务器上的一个jsp页面时,jsp引擎就会产生一个session对象,同时分配一个String类型的ID号,jsp引擎同时将这个ID发送到客户端,存放在cookie中,这样session对象,知道客户关闭浏览器后,服务器端该客户的session才会取消,并且和客户的会话对应关系消失,当客户重新打开浏览器再次连接到该服务器时,服务器会为该用户创建一个新的session对象。

session对象是由服务器自动创建与用户请求相关的对象。服务器为每一个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。

session对象内部使用map类来保存数据,因此保存数据的格式为键值对“key/value”  value对象可以是复杂的对象类型,而不仅仅局限于字符串类型。

常用方法:

public void getId();  获取session对象的编号

public Object setAttribute(String key, String value); 将参数String key指定的对象value添加到对象中,并未添加的对象指定一个索引关键字 key。

public Object getAttribute(String key);  获取session对象中含有的关键字的对象。

public Boolean isNew(); 判断是否是一个新客户。


5:application

application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。于session对象相比,application对象的生命周期更长,类似于系统的全局变量

服务器启动后就产生了Application对象,当客户在所访问网站的不同页面浏览器时,这个Application对象都是同一个对象,直到服务器关闭。但是与session对象不同的是:所用客户的Application对象都是同一个,即所有客户共享一个Application对象。

setAttribute(String key,Object obj):将参数Object指定的对象obj添加到Application对象中,并为添加的对象指定一个索引关键字key

getAttribute(String key):获取Application对象中含有关键字的对象。

常用方法:


6:config

config 对象的主要作用是取得服务器的配置信息。通过pageContext对象的getServletConfig() 方法获取一个config对象。当servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。开发者可以再web.xml 文件中为应用程序环境中的servlet程序和jsp页面提供初始化参数。

7:out

out对象用于web浏览器内部输出信息,并且管理应用服务上的输出缓冲区。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完成后,要及时关闭输出流。

out对象是一个输出流,用来向客户端输出数据,需要关闭。

out对象用于各种数据的输出。

其常用的方法如下:                                                                                                                                                        out.print(); 输出各种类型的数据。

out.newLine() 输出一个换行符。

8:page

page对象是指向当前jsp页面本身,有点像类中的this指针,可以理解为一个对象本身,它是java.lang.Object类的实例    即:把一个JSP当作一个对象来看待。
   常用方法如下:
   class getClass() 返回此Object类
   int hashCode() 返回此Object的hash码
   boolean equals(Object obj)判断此Object是否与指针中Object对象相等
   void copy(Object obj)把此Object拷贝到指定的Object对象中
   Object clone() 克隆此Object对象
   String toString() 把此Object转换成String类的对象
   void notify() 唤醒一个等待的对象
   void notifyAll() 唤醒所有等待的对象
   void wait(int timeout) 使一个线程等待直到timeout结束或者被唤醒
   void wait() 使一个线程处于等待直到被唤醒

9:exception

excepation对象和java的对象一样,都具有系统提供的继承  结构。

excepation对象几乎定义了所有的异常情况。

在java程序中,可以使用try/catch关键字来处理异常情况:如果在jsp页面中出现没有捕获到的异常,就会生成exception对象,并把exception对象传送到page指令中设定的错误页面中,然后早错误页面中处理相应的exception对象。

当前页面跳转到错误页面需要  errorPage=" 错误页面地址 ";


需要在设定的错误页面加  isErrorPage="true"

只有页面中设定  isErrorPage="true" 值才会有exception对象


抓取异常 以堆栈的方式输入到网页



原创粉丝点击