一、概念
隱含對象response是javax.servlet.HttpServletResponse接口實現類的對象。response對象封裝了JSP產生的響應,用於響應客戶端的請求,向客戶端輸出信息。
每次服務器端都會響應一個response實例。response對象經常用於設置HTTP標題、添加Cookie、設置響應內容的類型和狀態、發送HTTP重定向和編碼URL等。
response對象的常用方法:
二、response重定向
request對象的sendRedirect()方法是向服務器發送一個重定向請求。當使用該方法轉到另一個頁面時,等於重新發送了一個請求,所以在原來頁面中的request參數轉到新頁面之后就失效了,這是因為他們的request不同。
一般來說,在頁面中使用sendRedirect()方法時,不能在方法前有HTML輸出,但並非絕對的,不能有HTML輸出其實是指不能有HTML被送到瀏覽器。實際上,現在的服務器有cache機制,一般在8KB左右。所以,除非關閉cache,或者你使用了方法out.flush()強制刷新,否則在使用sendRedirect()方法之前,有少量的HTML輸出也是允許的。
項目ch04案例
step1:創建user.jsp:
step2:創建response.jsp
結果:http://localhost:8080/ch04/userresponse.jsp
登錄失敗:
點擊登錄后,重新定向到該頁面:
登錄成功: