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页面Spring-boot项目:Whitelabel Error Page(@Controller+@RestController的区别)_第1张图片

查找并排查原因,
1、以为是@Controller与@RestController的问题。
排查:两者的区别在于:@Controller+@ResponseBody 相当于@Controller,
执行方法:于是将@Controller改为@ResponseBody。运行之后虽然没有报错,但是页面只返回了index。而同样没有跳到index页面。
2、两个注解还有区别就是 参考此文章知道本次遇到的问题跟两个注解没有关系,我的写法是没有问题的,在路径对(Controller层和Application在相同路径下)的情况下,就需要找其他的解决方法。
Spring-boot项目:Whitelabel Error Page(@Controller+@RestController的区别)_第2张图片
后边一遍一遍排查之后发现,其实只要是配置没有出错(当然包括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文件。
Spring-boot项目:Whitelabel Error Page(@Controller+@RestController的区别)_第3张图片
想要查看代码可在码云上查看

你可能感兴趣的:(Java,spring,java,spring,boot)