在maven工程下使用springmvc框架启动tomcat时报404 以及常见的错误和解决方式

以下的问题是我花了三天的时间解决的bug,网上找的各种资源都是一个样子,不能解决我的问题,非常的蛋疼。最后在咸鱼花了我15元找了个大神帮我调试的。

1.问题一

idea中通过maven已经导入了包,idea中也能定位到包的位置,本地maven仓库也有对应的jar包存在,但是在本地编译的时候一直报程序包org.xxx.xxxxx不存在。
在这里插入图片描述

解决办法

在这里插入图片描述
然后输入以下信息->回车就行(我这个时IDEA2020.1版本有的问题,2019.3和2022.1就没有这个问题,这应该是IDEA版本的漏洞)
在这里插入图片描述

2.问题二:在maven的父工程下创建maven子工程时换成web工程在启动tomcat时总是报404错误

解决方式
一、首先查看一下自己在maven的设置
在这里插入图片描述
二、运行依赖maven
在这里插入图片描述

如果以上的方式你试过了,运行后还是解决不了你的问题,你在试试以下的方式(也是我的问题所在)

1.在在工程的pom.xml里添加以下配置信息

在这里插入图片描述
还有添加以下信息,因为在启动tomcat时候没有把配置文件读取进来,所以你不能只写配置依赖信息还得有以下信息

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <!-- 这里是false,用true会报 数据库连接 错误 -->
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
2.在project Structure检查你的Artifacts下面是否是这样的

在这里插入图片描述
如果是的话,那就把它去掉重新添加(是基于启动过一次tomcat后的报404之后的操作)

其实吧:原理就是-> 如果你在pom.xml没添加依赖之前就把maven的java工程改成web工程,就是不会把所需要的jar包给导class里面的,但是如果你先配置pom.xml,进行配置依赖然后在这样导入war包,就会存在这样的lib.
所以:以后我们要先配置poml.xml然后再去导入war包

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
5.点击apply + ok

3,最后访问成功

在这里插入图片描述

3.问题三:问什么你的映射路径能访问成功但是index.html访问不能功呢?

在这里插入图片描述

解决方法:我们在spring-mvc.xml也就是ioc容器中配置以下信息

在这里插入图片描述

然后就能正常访问初始页面index.html了。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven是一个Java项目构建管理工具,而Spring MVC是一种基于MVC(Model-View-Controller)架构的Web应用程序框架,可以帮助开发者快速构建基于Java的Web应用程序。Maven可以帮助我们管理项目依赖,构建和部署过程,而Spring MVC则提供了一种基于注解的方式来定义控制器、模型和视图,并且提供了很多有用的功能和特性,如数据绑定、表单处理、文件上传、异常处理等等。 在Maven使用Spring MVC框架,我们可以通过在pom.xml文件中添加相关依赖来引入Spring MVC框架。例如: ```xml <dependencies> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.6.RELEASE</version> </dependency> </dependencies> ``` 这样,当我们构建项目时,Maven会自动下载并添加Spring MVC库到我们的项目中。然后,在项目中我们可以使用Spring MVC提供的注解来定义控制器、模型和视图,例如: ```java @Controller public class HelloController { @RequestMapping("/hello") public ModelAndView hello() { ModelAndView mv = new ModelAndView("hello"); mv.addObject("message", "Hello Spring MVC!"); return mv; } } ``` 这里的@Controller注解表示这是一个控制器类,@RequestMapping("/hello")注解表示这个控制器处理的请求URL是/hello。在hello()方法中,我们创建了一个ModelAndView对象,并将视图名称设置为hello,然后添加了一个名为message的模型属性,最后返回这个ModelAndView对象。在视图层中,我们可以使用EL表达式来获取模型属性的值,例如: ```jsp <html> <head> <title>Hello Spring MVC</title> </head> <body> <h1>${message}</h1> </body> </html> ``` 这样,当用户访问我们的Web应用程序的/hello URL时,Spring MVC框架会调用HelloController中的hello()方法来处理请求,并返回一个包含了模型数据的视图对象。最终,我们的Web浏览器会显示出“Hello Spring MVC”这个消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值