所屬介面:javax.servlet.http.HttpServletResponse,其父介面是ServletResponse,而且ServletResponse也現在只有唯一一個HttpServletResponse子介面,主要原因是,現在的J2EE的WEB程式主要以HTTP協議為主要通訊協議。
response對象的功能:
1. setHeader( String name , String value )
設定指定的HTTP檔案的值,如果該值已經存在,則新值會覆蓋原有的舊值.
設定頭資訊:response.setHeader("頭資訊內容","頭資訊參數");
常用的重新整理refresh,例如:response.setHeader("refresh","1");
幾秒後跳轉:response.setHeader("refresh","2:URL=XXX");
2 重新導向--response跳轉:response.sendRedirect("跳轉地址");
(重新導向會丟失所有的請求參數,使用重新導向的效果,與地址欄裡重新輸入新地址再按斷行符號的效果完全一樣,即發送了第二次請求)
此語句執行後,頁面地址也變為跳轉後的地址
面試中常見問題:兩種跳轉的區別:地址欄不改變--屬於伺服器端跳轉
執行到跳躍陳述式後無條件立刻跳轉--之後的代碼將不再執行
注意:若使用forward跳轉則一定要在跳轉前釋放掉全部資源;
使用forward時,request設定的屬性(setAttribute)依然能保留到下一個頁面
通過傳遞參數
response.sendRedirect("跳轉地址"):
地址欄改變--屬於用戶端跳轉
頁面的所有代碼執行完畢之後再跳轉
不能儲存request屬性,地址欄改變了,用戶端跳轉
通過對URL地址的重寫傳遞參數
3.addCookie( Cookie cook )
添加一個Cookie對象,用來儲存用戶端使用者資訊.
Cookie是伺服器端儲存在用戶端的一組資源
通過Cookie實現儲存密碼或者多長時間無需再輸入密碼等功能
設定Cookie的方法:Public Void addCookie(Cookie cookie)
Cookie是通過伺服器端設定到用戶端上去的--response
如果要在伺服器端取得Cookie--request
在request對象中有Public Cookie[] getCookies()方法
在使用request對象取得全部Cookie時會出現JSESSIONID,表示唯一的用戶端在伺服器上的編號,這個值在用戶端第一次訪問伺服器端之後設定
預設情況下Cookie只針對當前瀏覽器有效,如果需要長留在電腦上,可以設定Cookie的儲存時間,通過設定Cookie最大保留時間方法:setMaxAge()
1.. addHeader( String name , String value )
添加HTTP檔案頭資訊,該Header將傳到用戶端去,如果已經同的Header存在,則覆蓋已有的Header.
2.. containsHeader( String name )
判斷指定名字的HTTP檔案頭是否已經存在,然後返回真假布爾值.
3.. sendError( int )
向用戶端發送錯誤的資訊.
4.. setHeader( String name , String value )
設定指定的HTTP檔案的值,如果該值已經存在,則新值會覆蓋原有的舊值.