Spring Boot 301 重定向RedirectView

前言

       在写作前,作者也百度查了很多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就很简单,一句话的事儿。

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

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/243829.html

(0)
上一篇 2022年4月11日 22:09
下一篇 2022年4月11日 22:09

相关推荐

发表回复

登录后才能评论