SpringMVC关于404总结

404在网络上定义的就是:不能找到资源。这个就是最明确的错误。

但是在springmvc中经常犯的错误:

1、后端:自动扫描没有将对应的资源囊括在内,这个看springmvc的配置文件

 <context:component-scan>部分


2、前端:请求的格式不对。如果参数中需要传入一个json串,但是如果传入null就会404

  解决:传入{} 空串


3、前端:请求的路径不对。这个很容易找到


4、项目没有发布成功。如果机器不给力,在部署添加项目之后,下面的进度条一直在加载,这时不要着急,需等100%之后才可行。


上面的都是实际碰到过的问题。


### SpringMVC项目在Tomcat启动时访问页面显示404的解决方案 SpringMVC项目在Tomcat启动时访问页面显示404的问题通常由多种因素引起,以下是可能导致该问题的原因及其对应解决方案: #### 1. **Web应用未正确加载** 如果控制台日志中出现`StandardContext.loadOnStartup`错误,则可能是由于SpringMVC框架未能正确初始化。这通常是由于配置文件路径或名称不匹配引起的。确保`web.xml`文件中正确声明了DispatcherServlet,并且其映射路径无误。 ```xml <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mvc-config.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> ``` 此外,确认`servlet-api.jar`版本与Tomcat兼容[^4]。 --- #### 2. **资源路径设置不当** 404错误表明客户端请求的URL未找到对应的资源。检查控制器类中的@RequestMapping注解是否与实际访问地址一致。例如,假设有一个Controller如下所示: ```java @Controller public class HelloController { @RequestMapping("/hello") public String sayHello() { return "hello"; // 对应视图名为 hello.jsp 或其他模板引擎渲染的内容 } } ``` 访问路径应该是`http://localhost:8080/your-app-context/hello`。如果路径不对或者缺少上下文根目录(如`your-app-context`),则会触发404错误[^3]。 --- #### 3. **依赖库缺失或冲突** 当Tomcat无法识别某些必要的JAR包时,可能会导致404或其他异常行为。特别是当使用较新的Tomcat版本(如10及以上)时,需注意`javax.servlet`已被替换为`jakarta.servlet`。因此,在构建工具(如Maven或Gradle)中调整相关依赖项非常重要。 Maven示例: ```xml <!-- Jakarta Servlet API --> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> <scope>provided</scope> </dependency> ``` --- #### 4. **静态资源配置问题** 若前端HTML/CSS/JS等静态资源不可用也会引发类似的404现象。通过修改`spring-mvc-config.xml`来指定静态资源处理规则可有效解决问题。 ```xml <mvc:resources mapping="/static/**" location="/resources/" /> ``` 上述配置表示所有以`/static/`开头的请求都将指向`/resources/`下的物理文件夹[^1]。 --- #### 5. **端口冲突检测** 虽然这不是直接造成404的主要原因,但如果Tomcat监听的端口被占用也可能间接影响服务正常运行。按照以下步骤排查并释放冲突端口[^5]: - 使用命令 `netstat -ano | findstr 端口号` 查找具体PID; - 结束相应进程后重新尝试启动Tomcat实例。 --- #### 总结 综合以上分析可知,针对SpringMVC项目在Tomcat上启动失败返回404的情况可以从以下几个方面入手:验证核心组件加载状态、校正路由定义准确性、补充必要外部支持库以及优化静态资产分发机制等方面逐一排除潜在隐患直至恢复正常运作为止。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值