什么是重定向呢?

就是客户端向服务器请求路径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/,这个表示重定向的路径,这里是重定向到百度首页。

 

(本文仅作个人学习记录用,如有纰漏,敬请指正)