欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringMVC配置、注解完全正确但一直提示404

程序员文章站 2022-06-13 21:20:35
...

出现的问题

在学习springMVC时,测试的页面一直提示404,但检查后发现SpringMVC的配置(web.xml和spring-mvc.xml)、注解完全正确。

使用的是eclipse编辑器,后台并没有报错,于是使用log4j打印详细信息

log4j在debug模式下控制台的信息:

15:01:51,530 DEBUG DispatcherServlet:845 - DispatcherServlet with name 'dispatcher' processing GET request for [/sdibt_springmvc/hello]
15:01:51,542 DEBUG RequestMappingHandlerMapping:297 - Looking up handler method for path /hello
15:01:51,543 DEBUG RequestMappingHandlerMapping:305 - Did not find handler method for [/hello]
15:01:51,546 DEBUG SimpleUrlHandlerMapping:168 - Matching patterns for request [/hello] are [/**]
15:01:51,550 DEBUG SimpleUrlHandlerMapping:193 - URI Template variables for request [/hello] are {}
15:01:51,556 DEBUG SimpleUrlHandlerMapping:123 - Mapping [/hello] to HandlerExecutionChain with handler [org.springaaa@qq.com1c075db8] and 1 interceptor
15:01:51,557 DEBUG DispatcherServlet:931 - Last-Modified value for [/sdibt_springmvc/hello] is: -1
15:01:51,566 DEBUG DispatcherServlet:1018 - Null ModelAndView returned to DispatcherServlet with name 'dispatcher': assuming HandlerAdapter completed request handling
15:01:51,566 DEBUG DispatcherServlet:996 - Successfully completed request

分析控制台的信息

主要问题是hello这个controller方法找不到,于是怀疑java文件没有编译到WEB-INF的classes目录下。到Tomcat服务器的目录中找到本项目文件夹,到本项目的WEB-INF\classes下查看class文件有没有生成,果然,运行后为空。

解决

重新构建项目,即到eclipse菜单—>project—>clean,重新编译。问题解决了,可以正常访问页面。但新写的方法又提示404错误,再次手动构建项目才可以正常运行。

后来一想,之前为了eclipse启动快,把Build automatically(即保存时自动构建项目)给关闭了。这样需要每次自己手动构建项目,否则,不会对Java文件进行编译。

SpringMVC配置、注解完全正确但一直提示404


开启Build automatically后问题解决。

总结

出现404错误通常是关于服务器方面的问题,编辑器的配置也可能导致一些问题的出现。

本次404错误是没有编译Java文件,找不到controller的方法。在于将eclipse的Build automatically关闭了。