例1-1中,Location響應頭的值為”/Example02/TargetServlet”。其中,Example02是應用名稱,以后客戶端路徑都需要加上應用名稱,例如超鏈接和表單中的url都包含應用名。“/TargetServlet“是TargetServlet類的訪問路徑。
(2)在Example02應用下,再次新建一個Servlet類,TartServlet,主要代碼如例1-2所示:
例1-2 TargetServlet.java
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//瀏覽器重定向到TargetServlet
System.out.println("TargetServlet...");
}
}
(3)LocationServlet在web.xml文件中配置的訪問路徑是“/LocationServlet“,TargetServlet在web.xml文件中配置的訪問路徑為”/TargetServlet“。
(4)將Example02應用發布到Tomcat服務器,然后啟動Tomcat服務器,在瀏覽器地址欄上輸入:http://localhost:8080/Example02/TargetServlet,瀏覽器顯示結果,如圖1-2所示:
圖1-2 瀏覽器顯示結果
(5)控制臺的打印結果如圖1-3所示:
3.快捷的重定向方法
上面實現重定向的方法是通過302狀態碼和Location響應頭實現的,現在我們學習一種更加簡單的方法實現重定向:調用response對象的sendRedirect(String location)方法。下面通過一個案例來學習如何使用該方法,如下所示:
(1)在Example02應用下新建一個Servlet類,RedirectServlet,主要代碼如例1-3所示:
例1-3 RedirectServlet.java
public class RedirectServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.sendRedirect("/Example02/index.jsp");
}
}
例1-3中,由RedirectServlet重定向到Example02應用的index.jsp頁面。
(2)RedirectServlet在web.xml文件中其訪問路徑配置為:“/RedirectServlet“。
(3)重新啟動服務器,在瀏覽器端訪問:http://localhost:8080/RedirectServlet,瀏覽器顯示結果如圖1-4所示:
本文版權歸黑馬程序員Java培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:黑馬程序員Java培訓學院
首發:http://javaee.itheima.com/