轉發 : Servlet接收到瀏覽器端請求後,進行必定的處理,先不進行響應,而是在服務器端內部「轉發」給其餘Servlet程序繼續處理。在這種狀況下瀏覽器端只發出了一次請求,瀏覽器地址欄不會發生變化,用戶也感知不到請求被轉發了。其中轉發的servlet和目標servlet共用一個request。其實就是轉發請求的setvlet和目標的setvlet共用一個請求。java
重定向:Servlet接收到瀏覽器端請求並處理完成後,給瀏覽器端一個特殊的響應,這個特殊的響應要求瀏覽器去請求一個新的資源,整個過程當中瀏覽器端會發出兩次請求,且瀏覽器地址欄會改變爲新資源的地址。重定向的狀況下,原Servlet和目標資源之間就不能共享請求域數據了。web
//轉發 request.getRequestDispatcher("/index.jsp").forward(request, response); //重定向 response.sendRedirect("index.jsp");
注意:轉發前面那個/表明的是當前web應用的路徑,而當咱們在重定向前面使用了/那麼它表明當前站點的路徑,咱們能夠這樣寫:瀏覽器
//request.getContextPath:當前web應用的路徑 response.sendRedirect(request.getContextPath+"/index.jsp");