前言
在写作前,作者也百度查了很多Spring boot 301重定向资料。发现结果写的都参差不齐,有大讲源码理论的,也有贴了部分代码的,结果大多数不是那种拿来就可以上手的。很多时候我们查资料是想先快速解决问题,再空闲理解源码。这里综合自己的理解和独立搭建一个简单的项目来实现Spring Boot301跳转,并且支持项目源码下载,到手就能用方便各位快速解决问题。
为何需要301重定向呢?主要的还是做网站的朋友们需要,因为这个影响SEO。
Spring Boot 项目结构
写了一个独立的demo来实现Spring Boot 301跳转,方便快速上手,下面是结构图:
从上面结构来看,项目已经非常简单了,一个controller类,两个页面,搞定。
301跳转核心代码
@GetMapping("getA")
public String getA(){
return "a";
}
@GetMapping("getBToA")
public ModelAndView getBToA(){
RedirectView redirectView=new RedirectView("/getA");
redirectView.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
ModelAndView view=new ModelAndView();
view.setView(redirectView);
return view;
}
在ModelAndView 的view中,设置为重定向专用视图RedirectView,且设置状态码HttpStatus.MOVED_PERMANENTLY(也就是301)
小结
以上为Spring Boot 项目301跳转的实现,下面提供项目源码下载
【网盘访问密码:9987】
SpringBoot-redirect-301.zip
如果实际项目中因为某些过滤器导致失败(这种情况尽量不要一个mapping多个value,就是项目最后那种),但是情况也紧急,也可以尝试在前一点的反向代理下功夫,比如nginx配置301就很简单,一句话的事儿。
如有疑问,欢迎留言讨论。
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/243829.html