Spring MVC错误
org.springframework.web.servlet.PageNotFound.noHandlerFound No mapping found for HTTP request with URI
原因
在配置了静态资源的访问路径<mvc:resources mapping="" location="">后,@Controller就没有被解析,即使<context:component-scan package="">配置在后面也无效,当存在没有匹配的处理请求类时,就都去<mvc:default-servlet-handler/>即default servlet处理了
解决方案
方式一
添加 配置注解驱动
<mvc:annotation-driven/>
方式二
使用<bean>标签方式配置注解
<!--配置注解映射器-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
<!--配置注解适配器-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
如果使用JSON,还需在注解适配器中配置JSON转换器
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
</list>
</property>
</bean>