No mapping found for HTTP request with URI [/index.do] in DispatcherServlet with name 'SpringMVC‘

No mapping found for HTTP request with URI [/sys/index.do] in DispatcherServlet with name 'SpringMVC',

--在启动程序的时候,直接报404错误:notFund /sys/index.do。没有在相关jsp或其他地方调用sys/index.do这一函数,故程序Controller编写错误排除

--’SpringMVC‘是我在web.xml文件中给DispatchServlet起的名字,org.springframework.web.servlet.DispatcherServlet类没有写错,那么问题就在SpringMVC加载的spring-mvc.xml文件中。

--出现这种错误是找不到.do,证明springmvc的beans中没有这个bean,猜测Controller没有扫描到,需扫描的文件配置:<context:component-scan base-package="com.aa">再三对比,没有在扫描包发现错误

--寻找/sys/index.do的引用,发现只有在要进入的index.jsp中的js中写了一个jsp代码,但是由于已经吧这行jsp代码注释掉了,如下:    

后来试着将注释掉的代码删除,发现能正常转到web.xml文件中设定的jsp。

    ----原因:jsp在编译的时候会先编译html和<jsp:>的代码,最后才去编译js代码,而<jsp:>代码在编译时只能用<%-- -->注释掉,其他的不起作用,所以<jsp:>实际还是起作用的

--由于上面只是修改了启动程序时直接报404错误,至于找不到.do函数还是没有解决。最后查询扫描包的类有没有引入完全。由于程序只实现页面跳转功能,所需的jar包可只引入webmvc,其余需要的jar根据依赖自动引入,所以jar包引入不完全排除

--在网上查资料,发现能生成bean的文件都能编译成.class,所以去/target下去寻找,由于是maven多模块项目,所以在target下只能找到webapp-archytype里的类,其余的子模块的内容都是以jar的方式引入,去找对应的Controller所在的子模块的jar,发现没有找到!!因为在webapp-archytype类型的子模块的pom文件没有引入对应需要的子模块,添加子模块的引入,程序成功运行。至此,问题解决。


在查找问题过程中,有出现下面的问题:

cvc-elt.1: 找不到元素 'beans' 的声明

原因是spring-mvc.xml文件的namespace中的beans是在视图化界面中加载的,如下:

在这个地方加载的beans,xml文件生成的信息违背了DTD的声明格式:如下

xmlns多了一个beans所以报错,正确写法如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值