1. 程式人生 > >javaweb請求轉發和重定向

javaweb請求轉發和重定向

一、請求的轉發:

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站點的根目錄;