## 请求重定向 ##
1、**请求重定向介绍流程**
![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDgzODU4OQ_size_16_color_FFFFFF_t_70]
2、**重定向特点**
> a)浏览器地址栏会发生变化
> b)两次请求
> c)不共享request数据
> d)不能跳转到WEB-INF目录下
> e)可以访问工程外部资源\*\*(跟请求转发有区别 )
3、**请求重定向实现过程**
a)通过设置状态码和响应头
// 设置响应状态码302 重定向
resp.setStatus(302);
// 设置响应头,说明新的地址在哪里
resp.setHeader("Location","http://localhost:8080/Java_Web01_war_exploded/responsechongdingxinag02");
b)固定了状态码为302(推荐使用)
resp.sendRedirect("http://localhost:8080/Java_Web01_war_exploded/responsechongdingxinag02");
相关代码:
//Responsechongdingxinag01.java
package servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Responsechongdingxinag01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("到此一游,即将转向新网页!");
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write("到此一游,即将转向新网页!");
// 设置响应状态码302 重定向
resp.setStatus(302);
// 设置响应头,说明新的地址在哪里
resp.setHeader("Location","http://localhost:8080/Java_Web01_war_exploded/responsechongdingxinag02");
// resp.sendRedirect("http://localhost:8080/Java_Web01_war_exploded/responsechongdingxinag02");
}
}
//Responsechongdingxinag02.java
package servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Responsechongdingxinag02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
System.out.println("重定向网页成功!");
resp.getWriter().write("重定向网页成功!");
}
}
[watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDgzODU4OQ_size_16_color_FFFFFF_t_70]: /images/1613233841783.png