Spring MVC集成Thymeleaf报HTTP 500找不到视图文件问题求助
问题原因及解决方案
你遇到的问题分为两类,分别对应两个报错信息,修复方案如下:
1. 编译类报错修复
问题原因
控制器中引入的Model类包路径错误,不是Spring官方提供的org.springframework.ui.Model,而是引入了其他同名类,导致调用addAttribute方法时方法签名不匹配,触发编译错误。
解决方案
修改BenvenutoController类的导包语句,替换Model的导入为以下内容:
import org.springframework.ui.Model;
2. 视图文件找不到报错修复
问题原因
templateResolver的prefix配置错误:src/main/webapp是本地源码的目录结构,项目编译部署到服务器时,src/main/webapp下的内容会直接作为Servlet上下文的根路径,不会保留src/main/webapp这层目录,因此运行时无法找到对应路径下的html文件。
此外配置类中@ComponentScan的包路径存在多余空格和分号,也可能导致组件扫描异常。
解决方案
修改WebConfig配置类的两处错误:
- 调整模板解析器的前缀配置:
templateResolver.setPrefix("/WEB-INF/views/");
- 修正组件扫描的包路径,去掉多余空格和末尾分号:
@ComponentScan(basePackages = "namePackage.controller")
额外验证点
- 确认
welcome.html文件实际存放路径为src/main/webapp/WEB-INF/views/welcome.html,没有放错目录 - 清理项目编译缓存后重启服务:在STS中点击
Project->Clean,选择对应项目清理后重新运行
内容的提问来源于stack exchange,提问作者helloJava
相关产品推荐
相关产品推荐

