**
请求重定向
**
概念:大体得意思就是客户端发送给服务端一个请求,然后服务器告诉客户端这个地址废弃了(302),我给你别的地址你去访问别的吧
流程图如下
代码如下
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>
运行成功浏览器输入
跳转页面
请求重定向得特点:
1、浏览器地址栏会发生变化
2、两次请求
3、不共享Request域中数据
4、不能访问WEB-INF下的资源
5、可以访问工程外得资源
以上根据尚硅谷JavaWeb教程整理