轉發和重定向

轉發和重定向

1.定義

轉發 : Servlet接收到瀏覽器端請求後,進行必定的處理,先不進行響應,而是在服務器端內部「轉發」給其餘Servlet程序繼續處理。在這種狀況下瀏覽器端只發出了一次請求,瀏覽器地址欄不會發生變化,用戶也感知不到請求被轉發了。其中轉發的servlet和目標servlet共用一個request。其實就是轉發請求的setvlet和目標的setvlet共用一個請求。java

重定向:Servlet接收到瀏覽器端請求並處理完成後,給瀏覽器端一個特殊的響應,這個特殊的響應要求瀏覽器去請求一個新的資源,整個過程當中瀏覽器端會發出兩次請求,且瀏覽器地址欄會改變爲新資源的地址。重定向的狀況下,原Servlet和目標資源之間就不能共享請求域數據了。web

2.使用

//轉發
        request.getRequestDispatcher("/index.jsp").forward(request, response);
        //重定向
        response.sendRedirect("index.jsp");

注意:轉發前面那個/表明的是當前web應用的路徑,而當咱們在重定向前面使用了/那麼它表明當前站點的路徑,咱們能夠這樣寫:瀏覽器

//request.getContextPath:當前web應用的路徑
response.sendRedirect(request.getContextPath+"/index.jsp");
相關文章
相關標籤/搜索