SpringMVC环境搭建问题:org.springframework.web.servlet.DispatcherServlet noHandlerFound_孤独浪人1的博客-程序员秘密

技术标签: j2ee开发  

【题记】因为很菜,所以弄出了诸多问题,因为很菜,所以将该问题记载。   下面这个问题是我在搭建SpringMVC环境中遇到的最棘手,解决最久的问题。整整折腾了两天,红着眼睛调调试试到凌晨一两点。

【org.springframework.web.servlet.DispatcherServlet noHandlerFound

No mapping found for HTTP request with URI [/mvc/WEB-INF/view/Welcome.jsp] in DispatcherServlet with name 'rest'】

     百度、google也找到了不少同类型问题,文献如下:

[1]spring的困惑--org.springframework.web.servlet.DispatcherServlet

[2]org.springframework.web.servlet.DispatcherServlet noHandlerFound

[3]spring MVC的困惑--url-pattern的/和/*有区别

    如果幸运,按照上面的提示解决问题,那么说明导致该问题的原因是Servlet的路径没用配置正确。至于为何用/和/*就导致不正确呢,上面的文献[3]末尾有解释。如果还想知道更细节、更本质的解释,可以百度、google关键字【web.xml  配置  url-pattern  通配符】等。这里有一篇文献不错的文献:

[4]java的web.xml中配置

    如果很不幸,按照上面的方法修改问题依旧,那就说明不是Servlet路径的问题了。而是没有找到对应的Servlet类了。为何会没有对应的Servlet呢?如果你和我一样是菜鸟,而且利用百度、google搜索关键字【Spring MVC 环境 搭建】找到了一系列文章,然后按上面的步骤操作,出现了这个问题。那么,绝大部分可能是因为没有指定WEB工程的Build Path导致。由于,有些版本的ECLIPSE默认没有将WEB工程的CLASSPATH设置为WEB-INFO/classes,所以编译的Serlvet类就不在该路径下。而tomcat的web工程部署默认在该路径下寻找Servlet类,因而即使web.xml中正确配置了url-pattern也将出现上述错误。将Build Path修改后,问题解决。

我这里做总结一下,出现这种错误是大部分是因为/和/*的原因 但是有意思我没有出现以上的错误,因为我写错了扫描组件中 base-package 的包路径。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010782846/article/details/53070258

智能推荐

Docker 搭建MongoDB 4.0副本集_shizhengju的博客-程序员秘密

一、安装docker、docker-compose1、不会安装docker的请移步----》centos7安装dockerUbantu16.04安装docker2、安装docker-compose(Centos7环境无pip的----》centos7安装pip2)pip install docker-compose二、创建副本集所需的keymkdir mongo...

ARP(地址解析协议)_傲娇回忆杀的博客-程序员秘密_arp

ARP(Address Resolution Protocol,地址解析协议)可以在以太网上,根据已知的IP地址查找主机的硬件地址。

NOIP中的数学--第8课 容斥原理(一)_信奥教练Andy的博客-程序员秘密

小学数学知识–容斥原理容斥原理的题目都可以借助韦恩图这一工具来解决,并且非常快速与准确,一、关于两个集合的容斥原理集合 A 与B 的并集的元素个数,等于集合 A 的元素个数与集合B 的元素个数的和,减去集合A 与 B 的交的元素个数,即:|A∪B|=|A|+|B|-|A∩B|。二、关于三个集合的容斥原理三个圆A、B、C 分别表示具有三种不同性质的集合,并如图用M1、M2、M3、…、M7 表示由三个圆形成的内部互不重叠的部分所含元素的个数,可见:|A∪B∪C|=M1+M2+…+M7=(M1+M4

python保存、读取.mat文件_山石梅子酒的博客-程序员秘密_python保存mat文件

python保存数据为.mat文件:import scipy.ioscipy.io.savemat('SF0.mat', mdict={'label_test': label_test, 'predlabel': predlabel,})#SF0.mat为保存的自定义文件名,label_test、predlabel为需要保存的数据读取.mat文件:import scipy.iodata = scipy.io.loadmat('SF0.mat')此时读取的数据为字典格式data.keys(

Android Studio控制台乱码问题_KaraShok的博客-程序员秘密

背景:Android Studio升级到3.6.2以后发现再设置中设置了File Encoding,但发现Build Output仍然乱码。操作如下:上边的代码:-Dfile.encoding=UTF-8注意:添加完上述文件和代码后,关闭文件,并重新同步工程和运行(忽略此步骤再次打开Studio会报错),再关闭Android Studio,再次打开即可。...

Oracle报错:ORA-00911: invalid character_xxydzyr的博客-程序员秘密

Oracle报错:ORA-00911: invalid character该错误发生在我创建物化视图时报错。执行环境为PL SQL,Oracle版本为11g。错误重现:-- 代码1CREATE MATERIALIZED VIEW VM1_EMPDISABLE QUERY REWRITEAS SELECT * FROM EMP;-- 代码2CREATE MATERIALIZED ..._1671465600

随便推点

JavaScript三大家族_好_快的博客-程序员秘密

一、Offset 家族1.1 offsetParent返回一个指向最近的(指包含层级上的最近)包含该元素的定位元素(relative、absolute)或者最近的 table,td,th,body元素。只读属性在 Webkit 中,如果元素为隐藏的(该元素或其祖先元素的 style.display 为 “none”),或者该元素的 style.position 被设为 “fixed”,则该属性返回 null。在 IE 9 中,如果该元素的 style.position 被设置为 “fixed”

Sapera LT++之连续帧图像视频_yangyang_z的博客-程序员秘密_sapclassbasic.h

文章目录Sapera LT ++一、SaperaLT++ 抓取连续帧的配置(vs2017)二、代码1.添加头文件2.所建项目的源文件代码如下结果Sapera LT ++Sapera LT++ 连续帧视频的抓取提示:以下是本篇文章正文内容一、SaperaLT++ 抓取连续帧的配置(vs2017)新建MFC对话框工程,配置环境变量,主要以下两张图的配置,附加包含目录和附加依赖项D:\Program Files\Teledyne DALSA\Sapera\Classes\BasicD:\P..

解决libreadline.so.6: cannot open shared object file: No such file or directory的问题_阿齐啦的博客-程序员秘密

之前有一个在ubuntu16.04上正常运行的程序,搬到一个ubuntu18.04的机器上以后,报错:error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory头...

C语言 openssl库 AES对称加解密 CBC模式 PKCS7Padding填充 256秘钥 带16偏移 base64编解码_一个菜鸡的学习记录的博客-程序员秘密

最近学习对接平台 需要用到 AES BASE64 加密对接接口非常少的资料而且满足不了需要或者有bug,譬如无偏移,base解码超位数输出不正常等最后整理出如标题所示的结果希望能帮助到有需要的朋友 也给自己往后回顾用使用前需要安装openssl库使用方法:<./aes 数据> <例子:./aes test> <注意:有空格会被当成多个参数>功能介...

poj2411 Mondriaan's Dream (轮廓线dp、状压dp)_weixin_30780221的博客-程序员秘密

Mondriaan's DreamTime Limit:3000MSMemory Limit:65536KTotal Submissions:17203Accepted:9918DescriptionSquares and rectangles fascinated the famous Dutch pa...

qt定时信号量_Qt基础开发之Qt多线程类QThread与Qt定时器类QTimer的详细方法与实例..._网易王三三的博客-程序员秘密

Qt多线程我们之前的程序都是单线程运行,接下来我们开始引入多线程。就相当于以前的一个人在工作,现在多个人一起工作。Qt中非常有必要使用多线程,这是因为,Qt应用是事件驱动型的,一旦某个事件处理函数处理时间过久,就会造成其它的事件得不到及时处理。Qt中使用QThread来管理线程,一个QThread对象,就是一个线程。QThread对象也有消息循序exec()函数,用来处理自己这个线程的事件。Qt实...