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