org.springframework.web.servlet.PageNotFound.noHandlerFound

本文介绍了SpringMVC中遇到的PageNotFound异常,问题在于配置静态资源后@Controller不再生效,导致请求未被正确处理。解决方法包括添加<mvc:annotation-driven/>或手动配置注解映射器和适配器。如果涉及JSON处理,还需要配置JSON转换器。
摘要由CSDN通过智能技术生成

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>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值