JSP规范中定义的9种内置对象

来源:互联网 发布:七天网络手机登录入口 编辑:程序博客网 时间:2024/05/18 02:37

(1) out 对象————负责管理对客户端的输出

(2)request对象————负责得到客户端的请求信息

(3)response对象————负责向客户端发出响应

(4)session对象————负责保存同一客户段一次会话过程中的信息

(5)application对象————表示整个应用的环境的信息
(6)exception对象————表示页面上发生的异常,可以通过它获得异常页面的

(7)page对象————表示的是当前JSP页面本身,就像Java类定义中的this一样

(8)pageContext对象————表示的是此JSP的上下文

(9)config对象————表示此JSP的ServletConfig

关于out 对象、request对象、response对象的几点简要介绍:

    out对象总结起来作用如下:

用来向客户段输出各种数据类型的内容。

  1. 对应用服务器上的输出缓冲区进行管理。
   利用out输出的主要有下列两个方法。
  1. void print()
  2. void println() 
    out对象常用的管理缓冲区有关的函数:
  1.     void close(),关闭输出流,从而可以强制终止当前页面的剩余部向浏览器输出。
  2.     void clearBuffer(),清除缓冲区里的数据,并且把数据写到客户端去。
  3.     void clear(),清除缓冲区里的数据,但不把数据写到客户端去。
  4.     int getRemaining().获取缓冲区中没有被占用的空间大小。
  5.     void flash(),输出缓冲区的数据。out flash()函数也会清除缓冲区中的数据,但是此函数先将之前缓冲区的数据输出到客户端,然后在清除缓冲区的数据。
  6.    int getBufferSize(),获得缓冲区的大小。
   request的一个主要用途是它能够获取客户的基本信息,主要方法如下:
  1. String getMethod(),得到提交方式。
  2. String getRequestURI,得到请求的URL 地址。
  3. String getProtocol(),得到协议名称。
  4. String getSevletPath(),获得客户端请求服务器文件的路径。
  5. String getQueryString(),得到URL的查询部分,对post来说,该方法得不到任何信息。
  6. String getServerName(),得到服务器的名称。
  7. String getSevertPort().得到服务器口号。
  8. String getRemoteAddr(),得到客户端的IP地址。
   request对象还可以获得客户端的参数,其常用的方法如下:
  1. String getParameterValues(String name),获得客户端传送给服务器的name参数的值。当传递此函数的参数名没有实际参数与之对应时,则返回null。
  2. String[  ] getParameterValues(String name),以字符串数组的形式返回指定参数所有值。
  response对象:
  利用response对象进行重定向,方法如下:
     response.sendRedirect(目标页面路径);// 如果用绝对路径 需要写完整的虚拟路径全部写上
  实际上 重定向的主要方法有两种:除了response.sendRedirect(目标页面路径)之外,还有JSP动作指令。
方法:<jsp:forward page=" xxxx.jsp">   </jsp:forward>
    这两种方法跳转具体有很大的不同,从以下几个方面来区别:
  1. 从浏览器的地址显示上来看:forward方法属于服务器去请求资源,服务器直接访问目标地址,并对该目标地址的响应内容进行读取,再把读取内容发给浏览器,因此浏览器的地址不变(地址不变)    而redicet是告诉客户端,使浏览器知道去请求那一个地址,相当于客户端重新请求一遍。所以地址显示栏会变(地址变化)
  2. 从数据共享看:forward转发的页,以及转发的目标页面能够共享request里面的数据,而redirect转发的页以及转发的目标页面不能requset里面的数据。
  3. 从功能来看:redirecte能够重定向到当前应用程序的其他资源,而且还能够重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。(任意站点)  而forward只能在同一个同一个Web应用程序内的资源之间的转发的请求,可以理解为服务器的一种操作。(本站内的跳转)



0 0
原创粉丝点击