Servlet實現跳轉的幾點區別(sendRedirect(),getRequestDispatcher().forwar())

response.sendRedirect(url)和request.getRequestDispatcher(url).forwqr(request, response);

1、sendRedirect請求發送在瀏覽器,可以說是兩次的請求。getRequestDispatcher發送在服務器端。

2、getRequestDispatcher可以將request.setAttribute()屬性帶到下一個頁面。而sendRedirect不能。

3、對於session兩者都可實現帶到下一頁面。建議使用getRequestDispatcher方法。

4、跳轉到另外的Web應用需要使用sendRedirect。

5、發送跳轉後,使用sendRedirect方法瀏覽器地址欄會改變成新的url,而getRequestDispatcher方法不會改變地址欄。

注:this.getServletContext().getRequestDispatcher(url).forwqr(request, response),是和getRequestDispatcher一樣的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章