响应重定向
生活案例:
张三向李四借钱1000元,李四说”我也没有,要不你去王五哪里看看?”,然后张三根据李四的指示,去找王五借钱
响应重定向是通过HttpServletResponse对象sendRedirect(“路径”)的方式实现是,是服务器通知浏览器,让浏览器去自主请求其他资源的一种方式
重定向的运作流程如下:
1用户在浏览器端输入特定URL,请求访问服务器端的某个Servlet。
2服务器端的Servlet返回一个状态码为302的响应结果,该响应结果的含义为:让浏览器端再请求访问另一个Web资源,在响应结果中提供了另一个Web资源的URL。另一个Web资源有可能在同一个Web服务器上,也有可能不再同一个Web服务器上。
3当浏览器端接收到这种响应结果后,再立即自动请求访问另一个Web资源。
4浏览器端接收到另一个Web资源的响应结果。
测试代码:
准备servlet3
package com.msb.test;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @Author: Ma HaiYang
* @Description: MircoMessage:Mark_7001
*/
@WebServlet(urlPatterns = "/servlet3.do")
public class Servlet3 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("servlet3 service invoked");
String money = req.getParameter("money");
System.out.println("money:"+money);
// 响应重定向
resp.sendRedirect("servlet4.do?money="+money);
//resp.sendRedirect("WEB-INF/bbb.html");
//resp.sendRedirect("https://www.baidu.com");
/*
* 响应重定向总结
* 1重定向是服务器给浏览器重新指定请求方向 是一种浏览器行为 地址栏会发生变化
* 2重定向时,请求对象和响应对象都会再次产生,请求中的参数是不会携带
* 3重定向也可以帮助我们完成页面跳转
* 4重定向不能帮助我们访问WEB-INF中的资源
* 5重定向可以定向到外部资源
*
* */
}
}
![](/i/l/?n=23&i=blog/3073776/202303/3073776-20230313222757623-1200848970.gif)
![点击并拖拽以移动](/i/l/?n=23&i=blog/3073776/202303/3073776-20230313222757623-1200848970.gif)
Servlet4
package com.msb.test;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @Author: Ma HaiYang
* @Description: MircoMessage:Mark_7001
*/
@WebServlet(urlPatterns = "/servlet4.do")
public class Servlet4 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("servlet4 service invoked");
String money = req.getParameter("money");
System.out.println("money:"+money);
}
}
![](/i/l/?n=23&i=blog/3073776/202303/3073776-20230313222757623-1200848970.gif)
![点击并拖拽以移动](/i/l/?n=23&i=blog/3073776/202303/3073776-20230313222757623-1200848970.gif)
标签:13,重定向,money,响应,import,servlet,javax From: https://www.cnblogs.com/2324hh/p/17213203.html