轉發和重定向的區別--JSP內建物件之request、response
阿新 • • 發佈:2021-01-18
技術標籤: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(在當前頁有效) |
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重定向和轉發的區別
①轉發是伺服器端進行的跳轉,重定向是在客戶端(瀏覽器端)進行的跳轉;
②從位址列來看,發生在伺服器端的轉發位址列不會變化,重定向前後位址列會變化;
③請求次數不同。轉發相當於一次請求,請求域中的資料不會丟失,重定向是兩次請求,請求域中的資料會丟失。