作为JSP中与request经常一起出现的response,我i们来整理下它的作用
response 对象用于响应客户请求,向客户端输出信息。它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。response对象在JSP页面有效。
1、实现重定向页面
使用response对象提供的sendRedirect()方法可以网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上,这一点和转发不同。在客户端浏览器上将会跳转到的地址,并重新发送请求的链接。用户可以冲浏览器的地址栏中看到。进行重定向操作后,request中的属性全部失效,并且开始一个新的request对象。
response.sendRedirect(String path);
2、处理HTTP文件头
通过response对象可以设置HTTP响应报头,其中,最常用的是设置响应的内容类型、缓存、设置页面自动刷新和定时跳转页面。
1)设置响应的内容类型: response.setContentType(String type)
type:用于指定响应的内容类型,可选值是text/html text/plain application/x_msexcel application/msword等
2)禁用缓存:
response.setHeader("Cache-Control","no-store");
response.setDteHeader("Expires",0)
3)设置页面自动刷新
response.setHeader("refresh","10")
4)定时跳转网页
response.setHeader("refresh",""5;URL=login.jsp);
3、设置输出缓冲区
通常情况下,服务器要输出到客户端的内容不会直接写到客户端,而是先写到一个输出缓冲区,当满足一下3个情况之一,就会把缓冲区的内容写到客户端。
*JSP页面的输出信息已经全部写入了到了缓冲区
*缓冲区已满
*在JSP页面中,调用了response对象的flushbuffer()方法货out对象的flush()方法
response提供对缓冲区配置的方法
1)flushBuffer():强制将缓冲区的内容输出到客户端
2)getBufferSize()获取响应所使用的缓冲区的实际大小,如果没有使用缓冲区,则返回为0
3)setBufferSize():设置缓冲区的大小
4)reset():清除缓冲区的内容,同时清除状态码和报头
5)isCommitted():检测服务器端是否已经把数据写入客户端