前言

       在写作前,作者也百度查了很多Spring boot 301重定向资料。发现结果写的都参差不齐,有大讲源码理论的,也有贴了部分代码的,结果大多数不是那种拿来就可以上手的。很多时候我们查资料是想先快速解决问题,再空闲理解源码。这里综合自己的理解和独立搭建一个简单的项目来实现Spring Boot301跳转,并且支持项目源码下载,到手就能用方便各位快速解决问题。

       为何需要301重定向呢?主要的还是做网站的朋友们需要,因为这个影响SEO。
 
Spring Boot 301跳转实现
Spring Boot 301跳转实现

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就很简单,一句话的事儿。


如有疑问,欢迎留言讨论。

评论区域

评论功能已关闭. 提示:评论功能虽已关闭,关闭之前的评论仍然会展示。