关于springmvc项目出现DispatcherServlet没有加载的问题

25 篇文章 1 订阅
21 篇文章 0 订阅

关于springmvc项目出现java.lang.ClassNotFoundException的问题

1 问题描述

​ 学习springmvc时,搭建了一个简单的springmvc框架。随后启动tomcat,一切正常,访问localhost:8080正常;然后继续访问RequestMapping的虚拟路径localhost:8080/quick,意外的出现了404错误。

2 问题分析

2.1 首先了解一下tomcat访问路径的流程

    1. 浏览器输入localhost:8080/quick回车后,tomcat会先去webapp下的web.xml配置文件里找url-pattern中的路径

在这里插入图片描述

    1. 然后会根据映射和servlet配置去找UserController

在这里插入图片描述

2.2 查找问题

​ 代码检查再三没有问题,但还是404错误,就很心累。寻找错误时在Tomcat Localhost log日志里面发现这个错误:

严重: Servlet [DispatcherServlet] in web application [] threw load() exception
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:504)

​ 然后去百度了一波发现有的说如果web项目的lib文件夹不在WEB-INF下,那么需要手工去添加到Output,这样才能在部署时,将jar包放到部署路径的WEB-INF/lib里。

​ 于是去添加,完了后还是报错。

3 解决办法

​ 把项目相关的project structure 里面的artifits删掉,把tomcat里面的dependencies删掉,完了重新去添加部署!记得output layout里面要有下面这个,没有的话在右边添加进来,流程如下:

在这里插入图片描述
在这里插入图片描述

然后重新run一下,查看tomcat localhost log之前的报错消失,项目正常运行。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值