**

请求重定向

**
概念:大体得意思就是客户端发送给服务端一个请求,然后服务器告诉客户端这个地址废弃了(302),我给你别的地址你去访问别的吧

流程图如下

java 重定向url java 重定向get请求_重定向


代码如下

response1

public class Response1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("哈哈哈我是Response1欧!!!");
        //设置响应状态码302 ,表示重定向
        resp.setStatus(302);
        //设置响应头,说明新的地址在哪里
        resp.setHeader("Location","http://localhost:8080/demo/response2");

    }
}

response2

public class Response2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write("my name is response2!!!");
    }
}

web.xml

<servlet>
        <servlet-name>Response1</servlet-name>
        <servlet-class>com.example.demo.Response1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Response1</servlet-name>
        <url-pattern>/response1</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>Response2</servlet-name>
        <servlet-class>com.example.demo.Response2</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Response2</servlet-name>
        <url-pattern>/response2</url-pattern>
    </servlet-mapping>

运行成功浏览器输入

java 重定向url java 重定向get请求_java 重定向url_02


跳转页面

java 重定向url java 重定向get请求_java_03


请求重定向得特点:

1、浏览器地址栏会发生变化

2、两次请求

3、不共享Request域中数据

4、不能访问WEB-INF下的资源

5、可以访问工程外得资源