哎,今天下午遇到好多问题,这个算是其中一个吧,都是各种奇葩的问题。

首先先说一下我的情况,遇到这种404问题,真心是不好意思问人的,只能靠自己来找原因了。


404:本能反应就是路径错误,第二反应才是配置原因

下面就根据我的经验分析一下各种情况

路径错误:

①:form表单提交请求时,路径错误

②:@RequestMapping(“/**”)书写错误

③:

<servlet>    
<servlet-name>springMvc</servlet-name>    
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    
<load-on-startup>1</load-on-startup>   
</servlet>    
<servlet-mapping>    
<servlet-name>springMvc</servlet-name>    
<url-pattern>/*</url-pattern>    
</servlet-mapping>    
<welcome-file-list>  
<welcome-file>index</welcome-file>  
</welcome-file-list>

错误原因:< url-pattern > /* </ url-pattern > 会匹配*.jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,


导致找不到对应的controller所以报404错。把这一行改为< url-pattern > / </ url-pattern >,运行,OK。


④:



<!--自动扫描目录下所有的类文件 -->
    <context:component-scan base-package="com.myspringmvc.controller.*" />

----改为---->>>>

    <!--自动扫描目录下所有的类文件 -->
    <context:component-scan base-package="com.myspringmvc.controller" />





⑤:我遇到的情况:


原来写项目的时候,我注册了两遍controller,后来将springMVC中的删除了,仅留下了spring中的。


后来就出现了这种情况,甚是奇怪。


spring中的:


<!--配置要扫描的包 -->
    <context:component-scan base-package="com.myspringmvc.controller" />





springMVC中的:


<!--配置要扫描的包 -->
    <context:component-scan base-package="com.myspringmvc.controller" />



<!--自动扫描目录下所有的类文件 -->
    <context:component-scan base-package="com.myspringmvc.controller" />


<!--自动扫描目录下所有的类文件 -->
    <context:component-scan base-package="com.myspringmvc.controller" />