javaweb:Response的应用(四)——重定向的实现
什么是重定向呢?
就是客户端向服务器请求路径a,服务器会让客户端去请求一个新的路径c。
首先简单试验一下,建立一个类,我们将其重定向到百度主页
1 package com.jms.servlet; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 public class Redirect extends HttpServlet{ 11 12 @Override 13 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 14 resp.sendRedirect("https://www.baidu.com/");//重定向仅此一句话而已 15 //需要注意的是,重定向路径是以WEB服务器为根目录,但是当前目录位于WEB项目目录,所以路径应该为“/项目名/...”或“./...”或“...” 16 } 17 18 @Override 19 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 20 doGet(req, resp); 21 } 22 23 }
重定向路径是以WEB服务器为根目录,但是当前目录位于WEB项目目录,所以路径应该为“/项目名/...”或“./...”或“...”,当然,直接输入URL也可以实现。
修改web.xml文件
<servlet> <servlet-name>rdt</servlet-name> <servlet-class>com.jms.servlet.Redirect</servlet-class> </servlet> <servlet-mapping> <servlet-name>rdt</servlet-name> <url-pattern>/rdt</url-pattern> </servlet-mapping>
此时我们访问路径:localhost:8080/jms3/rdt(jms3是我的项目),就会重定向到百度的主页
首先看状态码:302,以3开头的一般都代表重定向;再看Location:https://www.baidu.com/,这个表示重定向的路径,这里是重定向到百度首页。
(本文仅作个人学习记录用,如有纰漏,敬请指正)