Servlet入門(五)

重定向與轉發的區別:

1.重定向訪問服務器兩次,轉發只訪問服務器一次。

2.重定向可以看見目標頁面的URL,轉發只能看見第一次訪問的頁面URL,以后的工作都是有服務器來做的。

3.重定向跳轉后必須加上return,要不然頁面雖然跳轉了,但是還會執行跳轉后面的語句,轉發是執行了跳轉頁面,下面的代碼就不會在執行了。

4.在request級別使用信息共享,使用重定向必然出錯

5.還有一個大的區別就是,重定向可以訪問自己web應用以外的資源

請求轉發:

request.getRequestDispatcher(URL地址).forward(request, response)

處理流程:

客戶端發送請求,Servlet做出業務邏輯處理。

Servlet調用forword()方法,服務器Servlet把目標資源返回給客戶端瀏覽器。

請求轉發

2)重定向:

response.sendRedirect(URL地址)

處理流程:

客戶端發送請求,Servlet做出業務邏輯處理。

Servlet調用response.sendReadirect()方法,把要訪問的目標資源作為response響應頭信息發給客戶端瀏覽器。

客戶端瀏覽器重新訪問服務器資源xxx.jsp,服務器再次對客戶端瀏覽器做出響應。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容