SpringMVC访问controller报错404的解决办法(总结超详细)

 更新时间:2024年05月01日 08:23:41   作者:NoSuchUserExpection  
纯注解配置SpringMVC程序,使用tomcat8.5.95版本启动,能启动成功并且访问index.jsp页面,但是访问/save时出现404无法访问,本文给大家介绍了SpringMVC访问controller报错404的解决办法,文章总结的非常详细,需要的朋友可以参考下

问题描述:

纯注解配置SpringMVC程序,使用tomcat8.5.95版本启动,能启动成功并且访问index.jsp页面,但是访问/save时出现404无法访问,程序如下

解决办法:

一.更换高版本tomcat

以下的所有方法我全部都尝试过,但还是访问controller 404,最后更换了最新版本的tomcat才解决,所以在此把该方法列到第一个

二.检查jdk与spring版本是否兼容

Spring 框架的不同版本对于 JDK 的要求是有所区别的。一般来说,每个 Spring 框架版本都会声明它所支持的 JDK 版本范围。以下是一些常见的 Spring 框架版本对 JDK 的要求:

1. Spring Framework 5.x:

- Spring 5.x 支持 JDK 8 及以上版本。这意味着你可以在 JDK 8、9、10、11、12、13、14、15 和 16 上运行 Spring Framework 5.x

2. Spring Framework 6.x:

- Spring Framework 6基于JDK 17构建。换句话讲,若想使用Spring Framework 6那么你的JDK环境最低要求JDK 17

因此,如果你在使用 Spring MVC 6.x 版本,需要确保你的 JDK 版本符合其要求。当然,具体的兼容性要求最好还是查阅官方文档或者发布说明,以确保 JDK 和 Spring 版本之间的兼容性。

三.删项目重写一个

这一步骤是一种常见的排查问题的方法,通常用于排除项目中可能存在的难以定位的问题。通过删除并重新编写项目,你可以确保项目的结构和配置是干净的,并且可以排除一些潜在的问题

操作起来很简单,文件夹里找到项目直接删除即可

四.WEB-INF中导入lib

在传统的基于 Servlet 的 Web 应用中,通常会将项目所需的第三方库(JAR 文件)放置在 WEB-INF/lib 目录下。这些 JAR 文件包含了项目所需的各种依赖库

在现代的 Maven 或 Gradle 项目中,这些依赖通常会被管理工具自动下载并放置在项目的类路径中,而不需要手动放置在 WEB-INF/lib 目录下。但是IDEA有时会出错,导致WEB-INF下没有lib目录,这时候就需要自己手动添加了

在设置的项目结构中,选择工件

在WEB-INF目录下手动添加一个名称为lib的文件

lib的位置别错了

选择库文件,里面的东西全部添加

保存,退出,重新运行tomcat查看访问controller是否报错404

五.如果返回的数据为json,确保引入jackson依赖

在一个典型的 Spring MVC 应用中,当你向客户端返回一个对象时,Spring MVC 默认使用 HTTP 消息转换器(HTTP Message Converters)来将对象转换为合适的响应格式。这意味着,如果你的控制器方法返回一个对象,Spring MVC 将根据请求的 Accept 头部信息,将该对象转换为适当的响应格式,比如 JSON 或 XML

在默认情况下,Spring MVC 提供了一些内置的消息转换器,用于处理各种格式的数据。但是,如果你想要返回 JSON 格式的数据,通常会引入 Jackson 库(如 jackson-databind)来实现 JSON 的序列化和反序列化。Jackson 库提供了 MappingJackson2HttpMessageConverter,它可以将 Java 对象转换为 JSON 格式的数据,并且能够与 Spring MVC 集成

因此,当你在 Spring MVC 中想要返回 JSON 格式的数据时,通常会引入 Jackson 库,并确保 Spring MVC 配置正确地使用了 MappingJackson2HttpMessageConverter,以便将对象转换为 JSON 格式的响应

如果在一个纯注解的 Spring MVC 应用中,你想要返回 JSON 格式的数据,通常需要引入 Jackson 库,并且在控制器方法上使用 @RestController 或 @ResponseBody 注解来指示该方法返回 JSON 格式的数据。如果没有正确引入 Jackson 库或配置 Spring MVC 来处理 JSON 格式的数据,可能会导致返回的数据格式不符合预期,或者在访问控制器方法时出现 404 错误

六.确保所有的注解都加上了

1.Bean相关

检查@Controller注解,将该类注册为Bean

检查@RequestMapping是否加上,和后面的访问路径是否写错

检查@ResponseBody是否加上,无返回值可忽略

2.config相关

(1) SpringMvcConfig

是否扫到了bean所在的包

(2)  AbstractDispatcherServletInitializer实现是否正确

七.删除.m2文件下的repository

在 Java 开发中,".m2" 目录通常是 Maven 的本地仓库,用于存储项目的依赖库。当你在项目中使用 Maven 进行依赖管理时,Maven 会从远程仓库下载所需的依赖,并将其缓存到本地的 ".m2" 目录下。这样做可以加快构建过程,并在没有网络连接时也能够构建项目

有时候本地的依赖库可能会因为各种原因而损坏或不完整,导致构建失败或者出现奇怪的行为。通过删除并重新下载,可以确保本地的依赖库是完整的

八.webapp文件未被设为资源

仔细看看webapp文件夹上有没有这个小点,没有的话需要重新设置

还是在设置里的项目结构中,选择Fact

选择+新建web,选择你所创建的webapp的路径,确认返回,即可设置成功

以上就是SpringMVC访问controller报错404的解决办法(总结超详细)的详细内容,更多关于SpringMVC访问controller404的资料请关注脚本之家其它相关文章!

相关文章

  • SpringBoot启动报错属性循环依赖报错问题的解决

    SpringBoot启动报错属性循环依赖报错问题的解决

    这篇文章主要介绍了SpringBoot启动报错属性循环依赖报错问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • JAVA构造函数(方法)示例详解

    JAVA构造函数(方法)示例详解

    构造函数,是一种特殊的方法,主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中,这篇文章主要给大家介绍了关于JAVA构造函数(方法)的相关资料,需要的朋友可以参考下
    2021-11-11
  • 用dom4j生成xml,去掉xml头的方法

    用dom4j生成xml,去掉xml头的方法

    今天小编就为大家分享一篇用dom4j生成xml,去掉xml头的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 深入剖析Java工厂模式让你的代码更灵活

    深入剖析Java工厂模式让你的代码更灵活

    Java工厂模式是一种创建对象的设计模式,它可以在不暴露对象创建逻辑的情况下,将对象的创建委托给子类或者其他对象。本文就来深入剖析一下Java工厂模式是如何让你的代码更灵活、可扩展、易维护的
    2023-05-05
  • 深入理解java的异常情况

    深入理解java的异常情况

    在本篇文章里小编给大家分享了关于Java的异常类型的相关知识点内容,有需要的朋友们跟着学习下,希望能够给你带来帮助
    2021-09-09
  • CentOS7和8中安装Maven3.8.4的简单步骤

    CentOS7和8中安装Maven3.8.4的简单步骤

    maven是属于apache的一个工具,主要是对java进行编译打包,解决依赖关系,下面这篇文章主要给大家介绍了关于CentOS7和8中安装Maven3.8.4的相关资料,需要的朋友可以参考下
    2022-04-04
  • Java解析json报文实例解析

    Java解析json报文实例解析

    这篇文章主要介绍了Java解析json报文实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • java开发微信公众号支付

    java开发微信公众号支付

    这篇文章主要给大家结合微信支付接口开发的实践,从获取用户授权到各主要接口的使用方法等方面介绍微信支付的关键点技术,有需要的小伙伴可以参考下
    2015-08-08
  • Java和Ceylon对象的构造和验证

    Java和Ceylon对象的构造和验证

    这篇文章主要为大家详细介绍了Java和Ceylon对象的构造和验证,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 详解Spring Boot 打包分离依赖JAR 和配置文件

    详解Spring Boot 打包分离依赖JAR 和配置文件

    这篇文章主要介绍了Spring Boot 打包分离依赖JAR 和配置文件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论