jsp 九大内置对象

来源:互联网 发布:unity3d开发2d游戏 编辑:程序博客网 时间:2024/06/05 11:15

1.     request

用于处理http请求中的各种参数。

当通过超链接形式发送请求时,可以为该请求传递参数,这个亿通过在超链接后面的“?”来实现【注:必须是英文半角下的“?”】

定义超链接

<a href =”delete.jsp?id=1”>

a.方法 getParameter() :获取传递的参数值。

<%request.getParameter(“id”);%>

b.方法getAttribute(String name,Object object);

name:表示变量名,为String类型,在转发后的页面取数据时,就是通过这个变量名来获取数据的。

object: 用于指定在request范围内传递数据,为Object类型。

在数据保存到request范围内的变量中时,可以通过request对象的getAttribute()方法保存该变量的值,语法如下:

request. getAttribute(String name);

name:表示变量名,在request范围内有效;

eg:

建立一个index.jsp文件,在body标签里面添加如下代码:

<body><%try{int a=10;int b= 0;request.setAttribute("result",a/b);}catch(Exception){request.setAttribute("result","被除数不能为零,页面错误!"); }<jsp:fowardpage="deal.jsp"/>%></body>


然后建立一个deal.jsp文件

在body标签内添加

<%Stringmessage=request.getAtrribute("result").toString();%><%=massage%>

c.获取cookie

getCookie()方法,获得所有cookie对象的集合;

getName()方法,获取指定名称的cookie;

getValue()方法,获得cookie对象的值;

addCookie()方法,将cookie对象发送到客户端。

d.解决中文乱码问题;

<%=new String(request.getParamter(“要传的值”).getBytes(“ISO_8859_1”),”utf-8”)%>

e.获取客户端信息;

getHeader(String name) 获得http协议定义的文件头信息;

getHeaders(String name)返回指定名字的request Header的所有值,其结果是一个枚举型的实例;

getHeadersName() 返回所有request Header 的名字,其结果是一个枚举型的实例;

getMethod() 获得客户端向服务器传送数据的方法,如,get,post,header,trace等;

gerProtocol()获得客户端向服务器传送数据所依据的协议名称;

getRequestURI()获得发出请求字符串的客户端地址,不包括请求的参数;

getRequestURL()获得发出请求字符串的客户端地址;

getRealPath()返回当前请求文件的绝对路径

getRemoteAddr()获得客户端的IP地址;

getRemoteHost()获得客户端的主机名;

getServerName()获得服务器的名字;

getServerPath()获得客户端所请求脚本语言的文件路径;

getServerPort()获得服务器的端口号;

获得国际化信息;

getLocale();

getLocales();

2.  respone对象;

用于响应客户要求,向用户输出信息。

sendRedirect();将网页重新定向到另一个网页;

respone. sendRedirect(Stringpath);

path:指定的目标路径,可以是相对路径,也可以使不同主机的其他URL地址;

设置http相应表头

禁用缓存

<%respone.setHeader(“Cache-Contror”,”no-store”);respone .setDateHeader(“Expires”,0);%>


网页自动刷新

respone.setHeader(“refresh”,”10”);

定时跳转网页

respone.setHeader(“refresh”,”5;URL=login.jsp”);

设置输出缓存

flushBuffer()强制将缓存区的内容发送到客户端;

getBufferSize()获取相应所有缓冲区的实际大小,如果没有使用缓冲区,则返回0

setBufferSize(int size) 设置缓冲区大小;

reset() 清除缓冲区的内容,同时将清除状态码和报头;

isCommitted()检测服务器端是否已经把数据写入到了客户端;

3.  session

可以在应用程序的web页面间进行跳转时,保存用户的状态,使整个用户花花一致存在下去,知道关闭浏览器。但是在一个会话中,客户端长时间不想服务器发送请求,session对象就会自动消失;

setAttribute();

将信息保存在session范围内

session.setAttribute(Stringname ,Object obj);

    name:用于指定作用域在session范围内的变量名

    obj:保存在session范围内的对象

getAttribute();

获取在session范围内的信息;

session.getAttribute(Stringname):

name:指定保存在session范围内的关键字;

从会话中移动指定的绑定对象

removeAttribute(Stringname);

name:用于指定作用域在session范围内的变量名,一定要保证该变量在session范围内有效,否则将会抛出异常。

销毁session

session.invalidate();

session对象被销毁后,就不可以使用该对象了,否则会报出Session already invalidated异常。

session的生命周期会单独的拿出来讲。

4.  application对象

用于保存所有应用程序中的共有数据,它在服务器启动时自动创建,服务器停止时销毁。当application对象没有被销毁时,所有用户都可以共享该application对象,与session相比,application对象的生命周期更长,类似于系统的全局变量。

application对象提供了对应用程序初始化参数进行访问的方法,应用程序初始化参数在web.xml文件中进行设置,web.xml文件位于Web应用所在目录下的WEB-INF子目录中,在web.xml文件中通过<context-parm>标记配置应用程序初始化参数。

eg:配置连接MySQL数据库所需的url参数

<context-parm>    <param-name>url</ param-name>    <param-value>jdbc:mysql://127.0.0.1:db_database</param-value></context-parm>

getInitParameter()返回已命名的参数值。

application.getInitParameter(Stringname);

    name:用于指定参数名。

getAttributeNames();用于返回所有已定义的应用程序初始化参数名的枚举。

管理应用程序环境属性。

getAttributeNames();获得所有application对象使用的属性名。

getAttribute (Stringname);从application对象中获得指定对象名。

setAttribute(Stringkey,Object obj);使用指定对象在application对象中进行关联。

removeAttribute(Stringname);从application对象中去掉指定名称的属性。

5.  out对象

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

向页面中输出信息。

print();

println();

clear();清除缓冲区的内容

clearBuffer(); 清除当前缓冲区的内容

flush();刷新流;

isAutoFlush(); 检测缓冲区已满时自动清空,还是抛出异常。

getBuffer();获取缓冲区的大小。

6.  pageConetext对象。

   pageContext内置对象是一个比较特殊的对象,它相当于页面中所有其他对象功能的最大集成者,即使用它可以访问到本页面中所有其他的对象,例如前面已经描述的requestresponseoutpage对象等。由于在JSPrequestresponse等对象本来就可以通过直接调用方法使用,所以pageContext对象在实际JSP开发中很少使用到。

        getRequest():返回当前页面中的request对象。
        getResponse()
:返回当前页面中的response对象。
        getSession()
:返回当前页面中的session对象。
        getServletContext()
:返回当前页面中的application对象。
        getPage()
:返回当前页面中的page对象。
        getOut()
:返回当前页面中的out对象。
        getException()
:返回当前页面中的exception对象。
        getServletConfig()
:返回当前页面中的config对象。
         

        setAttribute(String name):给指定的属性名设置属性值。
        getAttribute(String naem)
:根据属性名找到相应的属性值。
        setAttribute(String name, Object obj, int scope)
:在给定的范围内设置相应的属性值。
        getAttribute(String name, int scope)
:在给的范围内获取相应的属性值。
        findAttribute(String name)
:寻找一个属性并返回,如果查找不到则返回null。
        removeAttribute(String name)
:通过属性名删除掉某个属性。
        removeAttribute(String name, int scope)
:在指定的某个范围里删除某个属性。
        getAttributeScope(String name scope)
:返回某属性的作用域。
        getAttributeNamesInScope(int scope)
:返回指定范围内的所有属性名的枚举。
         

         release():释放pageContext占据的所有资料。
         forward(String relativeURLpath)
:使用当前页面重导到另一个页面。
         include(String relativeURLpath)
:使用当前位置包含的另一个页面。

 

7.  config对象

  config对象代表当前JSP配置信息,但JSP页面通常无须配置,因此也就不存在配置信息。该对象在JSP页面中非常少用,但在Servlet则用处相对较大。因为Servlet需要配置在web.xml文件中,可以指定配置参数。

  getInitParameter(String name);返回参数初始值。

  getInitParameterNames();返回包含了Servlet初始化所需要的所有参数,返回类型是枚举型。

getServletContext();返回一个含有服务器相关信息ServletContext对象。

getServletName();

8.  page对象

        page对象有点类似于Java编程中的this指针,就是指当前JSP页面本身。pagejava.lang.Object类的对象。page对象在实际开发过程中并不经常使用。

        getClass():返回当时Object的类。
        hashCode()
:返回此时Object的哈希代码。
        toString()
:将此时的Object类转换成字符串。
        equals(Object ob)
:比较此对象是否与指定的对象相等。
        copy(Object ob)
:将此对象复制到指定的对象中。
        clone()
:对此对象进行克隆。

 

9.  exception对象

  JSP引擎在执行过程中,可能会抛出种种的异常。exception对象表示的就是JSP引擎在执行代码过程中抛出的种种异常。

exception对象常用方法: 

. getMessage():返回错误信息printStateTrace():该方法以标准形式输出一个错误和错误的堆栈 

ToString();以字符串的形式返回一个对异常的描述

 

 

0 0
原创粉丝点击