情况总体分为两种:
IDEA配置问题:
比如我有个项目是AAA,用eclipse发到tomcat上,路径应该是 xxx.com/AAA,但使用了IDEA,访问xxx.com/AAA就会报404的错误.但编译出来的WAR直接丢到TOMCAT上又是正常的。
下面是解决方案,其实很简单,2选1就行了,我个人倾向于第1种方案.
1.
2.
SpringMvc 配置问题
查看你的dispatcher-servlet.xml里的配置项,主要这里的base packge一定要和你自己controller所在的包名称一致,如果这里配置错了,一样也会导致404
类似如下
<context:component-scan base-package="com.test">--
</context:component-scan>
同时可以观察tomcat启动以后在idea终端里的日志,会有如下输出,说明识别了controller
org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod Mapped "{[/manage/category/set_category_name.do],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public com.mmall.common.ServerResponse com.mmall.controller.backend.CategoryManageController.setCategoryName(javax.servlet.http.HttpServletRequest,java.lang.Integer,java.lang.String)
org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod Mapped "{[/manage/category/get_category.do],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public