Servlet学习(四)——response

1、概述

在创建Servlet时会覆盖service()方法,或doGet()或doPost(),这些方法都有两个参数,一个是代表请求的request和代表响应response。

service方法中的response的类型是ServletResponse,而doGet/doPost方法的response的类型是HttpServletResponse,HttpServletResponse是ServletResponse的子接口,功能和方法更加强大。

2、response运行流程

3、通过抓包工具抓取Http响应

因为response代表响应,所以我们可以通过该对象分别设置Http响应的响应行,响应头和响应体

 4、通过response设置响应行

  设置响应行的状态码

       setStatus(int sc)

5、通过response设置响应头

addHeader(String name, String value)

addIntHeader(String name, int value)

addDateHeader(String name, long date)

setHeader(String name, String value)

setDateHeader(String name, long date)

setIntHeader(String name, int value)

其中,add表示添加,而set表示设置

6、重定向

状态码:302   响应头:location 代表重定向的地址

或者封装:

运行Servlet1, 重定向到Servlet2

7、定时刷新

运行RefreshServlet,隔5秒显示百度网页

8、使用JS完成页面定时跳转

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script type="text/javascript">
 7     window.onload=function(){
 8         var time=5;
 9         var secondEle=document.getElementById("second");
10         var timer=setInterval(function(){
11             secondEle.innerHTML=time;
12             time--;
13             if(time==0){
14                 clearInterval(timer);
15                 location.href="http://www.baidu.com";
16             }
17         }, 1000)    
18     }
19 </script>
20 </head>
21 <body>
22     恭喜你,注册成功,<span style="color:red" id="second">5</span>秒钟后跳转,如不跳转点击<a href="http://www.baidu.com">这里</a>
23 </body>
24 </html>

运行success.html,秒数显示5、4、3、2、1,然后跳转到百度网页

原文地址:https://www.cnblogs.com/cxq1126/p/7625843.html