1. 程式人生 > 其它 >轉發和重定向的區別--JSP內建物件之request、response

轉發和重定向的區別--JSP內建物件之request、response

技術標籤:JSP

JSP內建物件—request和response

1.JSP九大內建物件
先來說說JSP的九大內建物件及其作用域吧,jsp內建物件就是在JSP頁面可以直接使用的物件,無需再new了。

內建物件作用作用域
request觸發服務呼叫的請求 request(在當前請求中有效)
response 對應請求的應答 page(在當前頁有效)
session 為請求的使用者建立的session物件 session(在當前會話中有效)
application 從servlet配置物件獲得的上下文物件application在該應用程式中有效
out 向輸出流寫入內容 page(在當前頁有效)
pageContext 本jsp的頁面上下文 page(在當前頁有效)
page 實現處理本頁當前請求的類的例項 page(在當前頁有效)
config 本jsp的servletConfig page(在當前頁有效)
exception Jsp頁面執行時產生的異常 page(在當前頁有效)
(四大作用域大小比較application>session>request>page)

2.request物件
2.1作用:request物件主要用於處理客戶端請求;
在這裡插入圖片描述
2.2request物件常用方法

  • String getParameter(String name):根據頁面表單元件名稱獲取頁面提交資料;
  • String[ ] getParameterValues(String name):獲取一個頁面表單元件對應多個值時的使用者的請求資料 ;
  • void setCharacterEncoding(String charset):指定每個請求的編碼,在呼叫getParameter( )之前進行設定,可以解決中文亂碼問題;
  • String getRemoterAddr():返回提交請求的客戶機的IP地址;

3.response物件
3.1作用:動態響應客戶端請求,動態生成響應,控制傳送給使用者的資訊;
在這裡插入圖片描述
3.2response物件常用方法

  • response.sendRedirect(“url”):將請求重新定位到一個新的頁面,即頁面重定向;
  • response.setContentType(“text/html”):指明響應客戶端內容的型別;

4.轉發和重定向
4.1
4.1.1轉發的作用:在多個頁面互動過程中實現請求資料的共享;
4.1.2轉發的實現:通過RequestDispatcher物件的forward()方法

RequestDispatcher rd=request.getRequestDispatcher("**.jsp");
rd.forward(request,response);
//平時習慣使用
request.getRequestDispatcher("**.jsp").forward(request,response);

4.2重定向
4.2.1重定向的作用:根據相應條件跳轉到指定頁面
4.2.2重定向的實現:通過response物件的sendRedirect()方法

 response.sendRedirect("*.jsp");

4.3重定向和轉發的區別
①轉發是伺服器端進行的跳轉,重定向是在客戶端(瀏覽器端)進行的跳轉;
②從位址列來看,發生在伺服器端的轉發位址列不會變化,重定向前後位址列會變化;
③請求次數不同。轉發相當於一次請求,請求域中的資料不會丟失,重定向是兩次請求,請求域中的資料會丟失。