javaweb請求轉發和重定向
阿新 • • 發佈:2019-01-23
一、請求的轉發:
1、呼叫HttpServletRequest的getRequestDispatcher()方法獲取RequestDispathcher物件;
呼叫getRequestDispatcher()需要傳入要轉發的地址:
String path = "testServlet“;(testServlets是地址)
RequestDispatcher requestDispatcher = request.getRequestDispatcher(”/“+path);
2、呼叫HttpServletRequest的forward(request,response)進行請求的轉發。
requestDispatcher.forward(request.response);
二、請求的重定向方法:
1、執行請求的重定向,直接呼叫response.sendredirect(path)方法;
String path = "testServlet";
response.sendredirect(path);
兩者的區別:
請求轉發只發出一次請求,重定向發出兩次請求;
1、請求轉發:位址列是初次發出請求的地址;
請求重定向:位址列不再是初次發出的請求地址,位址列為最後相應的那個地址;
2、請求轉發:在最終的Servlet中,request物件和中轉的那個熱區set是同一個物件;
請求重定向:在最終的Servlet中,request物件和中轉的那個request不是同一個物件;
3、請求轉發:只能鑽法給當前web應用的資源;
請求重定向:可以重定向到任何資源;
4、請求的轉發:"/"代表的是當前web應用的根目錄;
請求重定向:“/”代表的是當前web站點的根目錄;