1. 程式人生 > >servlet學習(四)請求轉發和重定向

servlet學習(四)請求轉發和重定向

一、請求轉發和重定向兩者之間的區別

請求轉發:一次請求,位址列資訊不變。      

重定向:兩次請求,位址列資訊會發生改變。

使用時機:

1.如果表單中有資料,而資料又比較重要,不能重複提交,建議使用重定向。

2.如果servlet接受後,無法進行處理,建議使用重定向定位到可以處理的資源。

請求轉發:路徑為當前專案的根目錄,直接書寫跳轉的資源路徑即可。

req.getRequestDispatcher("1.jsp").forward(req, resp);

重定向:/代表伺服器地址+伺服器的應用目錄(類似tomcat的webapps),因此還需要加上/專案名+跳轉資源路徑。

resp.sendRedirect("/sx/2.jsp");

注意:如果req.getRequestDispatcher("1.jsp").forward(req, resp);寫成了req.getRequestDispatcher("1.jsp");則不會跳轉。