SpringMVC-转发&重定向

在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";
}

image-20211014113336960

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";
}

image-20211014113914247

3. Servlet API

通过设置Servlet API , 不需要视图解析器 .

  1. 通过HttpServletResponse进行输出
  2. 通过HttpServletResponse实现重定向
  3. 通过HttpServletResponse实现转发

正常输出形式:

@RequestMapping("/T")
public String Test(){
    return "success.jsp";
}

4. 写在最后

? 通过Spring MVC来实现转发和重定向 - 无需视图解析器

转发:

  • 转发是在服务器端发挥作用,将同一请求在服务器资源之间进行传递
  • 客户端浏览器的地址栏不会显示转向后的地址

重定向:

  • 重定向是在客户端发挥作用,通过发送一个新的请求实现页面转向
  • 在地址栏中可以显示转向后的地址

 


❤️ END ❤️

版权声明:本文为weixin_47243236原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。