本文共 2135 字,大约阅读时间需要 7 分钟。
在用户浏览网页时,服务器对于客户端浏览器做出的响应被封装成一个HttpServletResponse对象,要对浏览器操作只需要操作这个response对象即可.response的功能分类及介绍:
response是响应对象.向客户端输出响应正文(响应体)可以使用response的响应流,response提供了两个响应流对象:
先回忆一下常见的状态码:200表示成功,302表示重定向,404表示客户端错误(访问资源不存在,以4开头都是客户端错误),500表示服务器端错误(以5开头都是服务器端错误),详细状态吗参考这个链接:http://tool.oschina.net/commons?type=5,
响应头是一个键值对,可能是单值(一个名称,一个值),也可能是多值(一个名称,多个值).
response.setHeader("aaa", "AAA"); //设置单值的响应头 response.addHeader("bbb","B"); //设置多值的响应头 response.addHeader("bbb","BB"); response.addHeader("bbb","BBB");
首先看一下什么是重定向,这是网友的一个回答:
重定向过程:客户浏览器发送http请求——》web服务器接受后发送302状态码响应及对应新的location给客户浏览器——》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址——》服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。
/** * 重定向 * 1:设置locaiton * 2:发送302状态码 */ response.setHeader("location", "/tools/IServlet"); response.setStatus(302); //上面两句相当于下面这一句 response.sendRedirect("/tools/IServlet");
重定向小结:
response.setHeader("Refresh", "5;URL=http://www.baidu.com"); //五秒钟后跳转到百度主页
response.setHeader("Cache-Control", "no-cache"); response.setHeader("pragma", "no-cache"); response.setHeader("expires", "-1");
我们在新建一个jsp页面中可以看到在head标签中有这样的代码:
它实现的功能也是禁用浏览器缓存,只是一个是在servlet中一个是在jsp页面中.meta标签就是用来设置响应头的内容的.
转载地址:http://grxym.baihongyu.com/