1. 程式人生 > >Java Web裡的請求轉發和重定向

Java Web裡的請求轉發和重定向

在我們開發Java Web專案的時候,其實我們經常需要做頁面跳轉,而我們常用的兩種方式為請求轉發和重定向,下面就來簡單的將兩者做個比較。

在web專案裡請求轉發是這樣寫的, request.getRequestDispatcher(String path).forward(request,response),而重定向是這樣寫的,response.sendRedirect(String path),顯然兩者都是可以實現頁面跳轉的,那麼區別又在哪呢?

1.請求轉發時位址列的地址不會改變,而重定向是會改變為要重定向的地址的。

2.使用請求轉發的話,當前頁面的request和response裡的屬性是可以傳遞到轉發的頁面的,而重定向的話並不能將當前request的屬性傳遞過去

3.請求轉發是伺服器行為,對使用者是透明的;重定向是瀏覽器行為,它需要向伺服器傳送兩次請求。