• Spring-boot项目:Whitelabel Error Page(@Controller+@RestController的区别)


    在刚开始写Spring-boot入门的时候,被刚写的项目卡住了,

    @Controller
    public class MyController {
    
        @RequestMapping(value = {"/","/index.html"},method = RequestMethod.GET)
        public String toIndex(){
            return "index";
        }
    }
    

    运行后出现下页面,而没有到index页面在这里插入图片描述

    查找并排查原因,
    1、以为是@Controller与@RestController的问题。
    排查:两者的区别在于:@Controller+@ResponseBody 相当于@Controller,
    执行方法:于是将@Controller改为@ResponseBody。运行之后虽然没有报错,但是页面只返回了index。而同样没有跳到index页面。
    2、两个注解还有区别就是 参考此文章知道本次遇到的问题跟两个注解没有关系,我的写法是没有问题的,在路径对(Controller层和Application在相同路径下)的情况下,就需要找其他的解决方法。
    在这里插入图片描述
    后边一遍一遍排查之后发现,其实只要是配置没有出错(当然包括thymeleaf依赖、依赖包版本是否冲突等),接下来 我将所有的代码及配置放上:

    pom.xml

     >
            >
                >org.springframework.boot>
                >spring-boot-starter>
                >2.7.4>
            >
            >
                >org.projectlombok>
                >lombok>
                >1.18.24>
            >
            >
                >org.springframework.boot>
                >spring-boot-starter-web>
                >2.6.1>
            >
            >
                >org.springframework.boot>
                >spring-boot-starter-test>
                >test>
                >
                    >
                        >org.junit.vintage>
                        >junit-vintage-engine>
                    >
                >
            >
            >
                >org.springframework>
                >spring-web>
                >5.3.13>
            >
            >
                >org.springframework>
                >spring-webmvc>
                >5.3.13>
            >
            >
                >org.webjars>
                >jquery>
                >3.6.1>
            >
    
            <!-- thymeleaf 模板-->
            
                org.thymeleaf
                thymeleaf-spring5
                3.0.11.RELEASE
            
            
                org.thymeleaf.extras
                thymeleaf-extras-java8time
                3.0.1.RELEASE
            
            
                org.springframework.boot
                spring-boot-starter-thymeleaf
            
            
                net.sourceforge.nekohtml
                nekohtml
                1.9.22
            
        >
    
        >
            >
                >
                    >org.springframework.boot>
                    >spring-boot-maven-plugin>
                    >
                        >
                            >
                                >org.projectlombok>
                                >lombok>
                            >
                        >
                    >
                >
            >
        >
    

    application.yml中什么也没有

    Controller层:

    @Controller
    public class MyController {
    
        @RequestMapping(value = {"/","/index.html"})
       public String toIndex(){
            return "index";
        }
    }
    
    

    此时在resources文件夹中,放到自己的主页就可以,其中static中放入js、css、素材等文件,templates中存放html文件。
    在这里插入图片描述
    想要查看代码可在码云上查看

  • 相关阅读:
    二极管选型指南
    【论文笔记】FCN全卷积网络
    深浅拷贝原理+案例解析
    Markdown和PlantUML的基本使用
    配置Kubelet的垃圾回收(K8S镜像回收)
    -树的高度-
    基于Pytorch框架的深度学习ConvNext神经网络宠物猫识别分类系统源码
    基于图搜索的规划算法之A*家族(七):Field D*算法
    龙格-库塔(Runge-Kutta)方法C++实现
    内网渗透代理转发详解及工具介绍
  • 原文地址:https://blog.csdn.net/A_Tu_daddy/article/details/127087595