Tomcat资源未找到:SpringMVC入门程序页面无法访问求助
排查SpringMVC + Tomcat 404错误的步骤
1. 核对请求路径与Controller映射
- 确认浏览器访问路径格式:
http://localhost:8080/项目上下文路径/Controller映射路径,不要遗漏项目上下文路径(Tomcat部署时的项目名) - 检查Controller类是否添加
@Controller注解,未添加的话Spring无法识别为控制器 - 校验
@RequestMapping的路径拼写、大小写,Tomcat默认对路径大小写敏感
2. 检查SpringMVC核心配置(applicationContext.xml)
- 确认配置了组件扫描,保证Spring能扫到Controller类:
<context:component-scan base-package="你的Controller所在包路径"/> - 必须添加
<mvc:annotation-driven/>,否则@RequestMapping等注解无法生效
3. 验证web.xml配置
- 确认DispatcherServlet的映射与初始化配置正确,示例如下:
注意:<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>url-pattern用/即可,不要用/*(会拦截所有静态资源请求);contextConfigLocation要对应配置文件实际位置,若文件在WEB-INF下,路径需改为/WEB-INF/applicationContext.xml
4. 检查Tomcat部署与项目结构
- 查看Tomcat启动控制台日志,确认无类加载失败、配置文件解析错误等异常
- 确认Controller类所在包符合组件扫描的范围,若扫描的是
com.example.controller,Controller需放在该包或其子包下 - 验证Maven打包后的war包是否包含所有class文件与配置文件,Tomcat部署目录下的war包是否正常解压
5. 核对pom.xml依赖
- 确保SpringMVC版本与Tomcat 9.0.78兼容,推荐使用Spring 5.x系列(Spring 6.x需搭配Tomcat 10+)
- 确认引入了
spring-webmvc核心依赖,示例:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.29</version> </dependency> - 若使用Maven Tomcat插件,需指定正确版本与项目上下文路径:
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <path>/你的项目名</path> </configuration> </plugin>
内容的提问来源于stack exchange,提问作者Артем Лебідь
相关产品推荐
相关产品推荐

