例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/