在JavaWeb中学习过转发和重定向,在Spring MVC也需要转发和重定向。
1. 转发
1.1 转发的作用
在服务器端,将请求发送给服务器上的其他资源,以共同完成一次请求的处理
- URL地址不改变
1.2 JavaWeb实现
<%
//页面网址不发生改变,停留在中转页面
//可以获取上一个页面request发送的信息
RequestDispatcher rd = request.getRequestDispatcher("welcome.jsp");
rd.forward(request, response);
%>
1.3 Spring MVC 实现
//转发
@RequestMapping("/F")
public String forward(){
return "forward:success.jsp";
}
2. 重定向
2.1 重定向的作用
客户端将重新发送请求到指定的URL
- URL地址发生改变
2.2 JavaWeb实现
<%
//网址发生改变,无法获取上一个页面request发送的信息
response.sendRedirect("login.jsp");
%>
2.3 Spring MVC 实现
//重定向
@RequestMapping("/R")
public String redirect(){
return "redirect:success.jsp";
}
3. Servlet API
通过设置Servlet API , 不需要视图解析器 .
- 通过
HttpServletResponse
进行输出 - 通过
HttpServletResponse
实现重定向 - 通过
HttpServletResponse
实现转发
正常输出形式:
@RequestMapping("/T")
public String Test(){
return "success.jsp";
}
4. 写在最后
🌟 通过Spring MVC来实现转发和重定向 - 无需视图解析器
转发:
- 转发是在服务器端发挥作用,将同一请求在服务器资源之间进行传递
- 客户端浏览器的地址栏不会显示转向后的地址
重定向:
- 重定向是在客户端发挥作用,通过发送一个新的请求实现页面转向
- 在地址栏中可以显示转向后的地址
❤️ END ❤️