SpringBoot访问不了resources/templates下的页面

最近在使用springboot开发一个项目,然后发现一直访问不了resources/templates下的页面,命名控制器代码也没有写错。然后自己加了@EnableWebMvc注解以及自己配置了视图解析器,到最后还是不能解决问题(可以发现配置了@EnableWebMvc后可以在控制台打印出页面的路径)。最后发现原来SpringBoot只支持模板引擎的原因。所以我认为可能是要加上一个模板引擎在依赖中负责渲染(springboot默认不支持jsp),这里我就选择使用thymeleaf,加上spring-boot-starter-thymeleaf在依赖中就解决了。


spring boot在springmvc的视图解析器方面就默认集成了ContentNegotiatingViewResolver和BeanNameViewResolver,在视图引擎上就已经集成自动配置的模版引擎,如下: 
1. FreeMarker 
2. Groovy 
3. Thymeleaf 
4. Velocity (deprecated in 1.4) 
6. Mustache

JSP技术spring boot 官方是不推荐的,原因有三: 
1. 在tomcat上,jsp不能在嵌套的tomcat容器解析即不能在打包成可执行的jar的情况下解析 
2. Jetty 嵌套的容器不支持jsp 
3. Undertow

而其他的模版引擎spring boot 都支持,并默认会到classpath的templates里面查找模版引擎。

当然还有第二种可能性,那就是你的@SpringBootApplication注解所在类的扫描不到控制器的位置(可以用MockMvc查出这个原因),要保证所有包的位置都保持在与@SpringBootApplication注解所在类的包同级或者下级,@SpringBootApplication自带的@ComponentScan只会扫描@SpringBootApplication注解所在类的包同级或者下级



  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值