Eclipse中Spring MVC(Thymeleaf)项目Tomcat运行404错误求助
检查Thymeleaf视图解析器配置
确认Spring配置文件中Thymeleaf视图解析器的前缀、后缀设置与实际视图文件位置匹配,示例配置如下:<bean id="templateResolver" class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver"> <property name="prefix" value="/WEB-INF/templates/"/> <property name="suffix" value=".html"/> <property name="templateMode" value="HTML"/> <property name="characterEncoding" value="UTF-8"/> </bean>务必保证视图文件存放在配置指定的目录下,且文件名与控制器返回的视图名完全一致(注意大小写敏感)。
验证Spring组件扫描配置
检查Spring配置文件中的<context:component-scan>标签,确认控制器所在包被正确纳入扫描范围,示例:<context:component-scan base-package="com.yourproject.controller"/>再次核对包路径拼写,确保包含目标控制器所在的层级。
确认项目上下文路径与访问URL匹配
访问应用时需带上Tomcat部署的项目上下文路径,例如项目上下文为TestSpringMVCproject,则完整访问URL应为http://localhost:8080/TestSpringMVCproject/[控制器映射路径]。可在Eclipse的Tomcat服务器配置中查看当前项目的上下文路径设置。检查依赖版本兼容性
确保Thymeleaf版本与Spring MVC版本匹配(如Spring 5.x对应Thymeleaf 3.x),查看项目依赖配置文件(Maven的pom.xml或Gradle的build.gradle),避免因版本不兼容导致视图解析失败。核对web.xml中DispatcherServlet映射规则
确认web.xml中DispatcherServlet的映射范围覆盖了目标访问路径,示例正确配置:<servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>若映射规则为
*.do这类后缀匹配,访问URL需携带对应后缀,否则会触发404。检查Tomcat部署后的文件完整性
前往Tomcat安装目录下的webapps文件夹,找到你的项目部署目录,确认:WEB-INF/templates下存在目标视图文件WEB-INF/lib下包含所有Thymeleaf、Spring MVC相关依赖jar包,避免部署时文件遗漏
内容的提问来源于stack exchange,提问作者mop11

