1. 程式人生 > >Servlet學習(四)——response

Servlet學習(四)——response

utf 對象 pan src 頁面 name 技術 win 兩個

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,然後跳轉到百度網頁

Servlet學習(四)——response