1. 程式人生 > >重定向(response.sendRedirect())與請求轉發(RequestDispatcher.foward())

重定向(response.sendRedirect())與請求轉發(RequestDispatcher.foward())

就會 方法 服務器 請求轉發 請求 姓名 報錯 owa 完全

兩個方法都是讓瀏覽器轉向其他資源,它們的區別是:

1.請求轉發要將HttpServletRequest與HttpServletResponse作為參數傳入RequestDispatcher的forward方法,也就是新資源中也會用上上個資源的request跟response。

例如登陸頁面傳入了姓名與密碼,登陸成功就會轉向其他頁面,此時的姓名作為string也被帶到其他頁面去了。

因為response也是作為forward的參數傳輸,所以不能因為在原頁面上使用response來輸出,不然會報錯。

2.重定向是完完全全讓瀏覽器去訪問其他資源,很可能是去訪問其他網站,因此與原頁面關系不大。

兩者最明顯的區別就是--請求轉發是去訪問同一個服務器的資源,而重定向可以訪問同服務器資源也可以訪問其他主機。

重定向(response.sendRedirect())與請求轉發(RequestDispatcher.foward())