admin管理员组文章数量:1794759
Spring MVC之redirect、forward和普通跳转
文章目录
- Spring MVC之Controller的view跳转
- redirect
- forward
- 总结
在Spring MVC中,通过返回一个view url地址的方式,将特定位置的html渲染之后推送到请求的client端。 例如:
@Controller public class A{ @RequestMapping("/url/view") public String handle() { return "/view/html/page1"; } }这里的page1就是页面所处的位置。这里的返回页面结果,不会影响到client的地址栏的URL信。
redirect重定向,服务器收到请求后发送一个状态码给客户端,让客户端再重新请求,并且第一次请求中Request里的数据消失。所以redirect相当于客户端向服务器发出两次请求,第一次请求的数据不会转发给第二次请求,URL地址会变化两次。 例如:
@Controller public class A{ @RequestMapping("/url/view") public String handle() { return "redirect:/view/html/page1"; } }redirect这里基本都是get请求,主要是其原有请求的request数据没有了。
forward转发(前往),服务器内部的重定向,在Servlet中通过RequestDispatcher转发给另一个程序处理请求,请求的数据依然在。所以forward相当于客户端向服务器发送一次请求,服务器处理两次,请求数据不会消失且URL地址只变化一次。 例如:
@Controller public class A{ @RequestMapping("/url/view") public String handle() { return "forward:/view/html/page1"; } }这里有个问题需要注意是:forward会保持之前的请求状态和数据不变,例如post请求还是会post请求。
总结版权声明:本文标题:Spring MVC之redirect、forward和普通跳转 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686614435a86350.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论