response对象用于相应客户请求,向客户端输出信息。它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。
重定向网页
使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上,这一点与转发不同。在客户端浏览器上将会的到跳转的地址,并重新发送请求链接。用户可以从浏览器的地址栏中看到跳转后的地址,进行重定向操作后,request中的属性全部失效,并且开始一个新的request对象。
sendRedirect()方法的语法格式如下
response.sendRedirect(String path);
path:用于指定目标路径,可以是相对路径,也可以是不同主机的其他URL地址。
在JSP页面中使用该方法时,不要再用JSP脚本代码(包括return语句),因为重定向之后的代码已经没有意义了,并且还可能产生错误。重定向有几个特点.1,地址栏发生变化。2,重定向可以访问其他的网站,不像请求转发一样只能访问服务器内部。3,重定向时两次请求,不能使用request对象来共享数据。
处理HTTP文件头
通过response对象可以设置HTTP相应头,其中,最常用的是禁用缓存,设置页面自动刷新和定时跳转网页。下面分别进行介绍。
1.禁用缓存
在默认的情况下,浏览器会对显示的网页内容进行缓存。这样,当用户再次访问相关网页时,浏览器会判断网页是否有变化,如果没有变化则直接显示缓存中的内容,这样可以提高网页的显示速度。对于一些安全性要求较高的网站,通常需要禁用缓存。
通过设置HTTP头的方法实现禁用缓存。代码如下。
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
2.设置页面自动刷新
通过设置HTTP头还可以实现页面的自动刷新
假如使网页每隔10s自动刷新一次。代码如下:
respomse.setHeader("refresh","10");
3.定时跳转网页
通过设置HTTP头还可以实现定时跳转网页的功能。
response.setHeader("refresh","5;URL=login.jsp");
设置输出缓冲
通常情况下,服务器要输出到客户端的内容不会直接写到客户端,而是先写到一个输出缓冲区,在计算机术语中,缓冲区被定义为暂时放置输入或输出资料的内存。当满足以下这3种情况之一,就会把缓冲区的内容写到客户端。
JSP页面的输出信息已经全部写入到了缓冲区。
缓冲区已满。
在JSP页面种,调用了response对象的flushBuffer()方法或out对象的flush方法。
response对象提供了如下表所示的对缓冲区进行配置的方法。