Spring 什么';这是“之间的区别”;返回新的ModelAndView(“redirect:surveys.html”)&引用;及;返回新的ModelAndView(“surveys.html”)&引用;

Spring 什么';这是“之间的区别”;返回新的ModelAndView(“redirect:surveys.html”)&引用;及;返回新的ModelAndView(“surveys.html”)&引用;,spring,model-view-controller,modelandview,Spring,Model View Controller,Modelandview,问题在标题中。我有一个Spring MVC Web应用程序,我必须修改很多东西,我不知道这一点,在做任何事情之前,我试图了解它是如何制作的 这两者之间的区别是什么: return new ModelAndView("redirect:surveys.hmtl"); 及 谢谢。从程序员的角度来看 返回新的ModelAndView(“重定向:surveys.hmtl”) 当您使用重定向时,您将控制器重定向到另一个适用于重定向url的控制器。简单地说,您可以拥有处理该路径的控制器。那个控制器就会被解

问题在标题中。我有一个Spring MVC Web应用程序,我必须修改很多东西,我不知道这一点,在做任何事情之前,我试图了解它是如何制作的

这两者之间的区别是什么:

return new ModelAndView("redirect:surveys.hmtl");


谢谢。

从程序员的角度来看

返回新的ModelAndView(“重定向:surveys.hmtl”)
当您使用重定向时,您将控制器重定向到另一个适用于重定向url的控制器。简单地说,您可以拥有处理该路径的控制器。那个控制器就会被解雇。并且可以重定向到另一个页面。然后在HTTP响应中,您可以看到重定向状态3xx,而不是正常情况下的200

return new ModelAndView("surveys.html");

当您不使用重定向时,您只调用视图部分并显示html。http响应200/OK状态中存在错误。

重定向-向客户端发送http 302重定向。然后,客户机将向服务器发送一个新的请求,其中包含给定的url


返回新的ModelAndView(“surveys.html”)指示spring将此视图返回到客户端

第一个视图重定向:

                  POST or GET
browser -------------------------------------> spring controller

         redirect to surveys.html (status = 302)
        <------------------------------------

                  GET
        -------------------------------------> surveys.html

                  final page
        <-------------------------------------
发布或获取
浏览器----------------->spring控制器
重定向到surveys.html(状态=302)
surveys.html
最后一页
弹簧控制器
|
|
最后一页V
                  POST or GET
browser -------------------------------------> spring controller

         redirect to surveys.html (status = 302)
        <------------------------------------

                  GET
        -------------------------------------> surveys.html

                  final page
        <-------------------------------------
                    POST or GET
browser -------------------------------------> spring controller
                                                     |
                                                     |
                    final page                       V
        <------------------------------------- surveys.html