spring mvc 使用jquery 传json值给Controller时需要解决的问题

博客主要围绕Spring MVC展开,因DispatcherServlet过滤所有请求导致静态资源被过滤,页面加载jquery.js出现404错误,需在配置文件中配置让静态资源可被找到。还提到若报错可能是未配置<mvc:annotation-driven />,同时介绍了JSON支持所需的两个jar包及缺少时的报错信息。
[b]1 由于springmvc DispatcherServlet 使用“/”过滤了所有请求,那么静态资源也就被过滤掉了。页面加载jquery.js时404错误。[/b]
需要在springmvc 的配置文件中配置让js等静态资源可以找到
<mvc:resources mapping="/include/**/" location="/WEB-INF/include/" order="1"/>
其中 mapping="/include/**/"代表 请求路径contextPath/include下的所的请求,都在项目部署路径下"/WEB-INF/include"找.

如果出现下面的错误,可能是没有配置 <mvc:annotation-driven /> 的原因。
<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。
并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。
报错WARNING: No mapping found for HTTP request with URI

[b]2 json支持 的两个 jar包[/b]
可以在http://mvnrepository.com/open-source/json-libraries找到

jackson-core-asl-1.9.13.jar
http://central.maven.org/maven2/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13.jar

jackson-mapper-asl-1.9.13
http://central.maven.org/maven2/org/codehaus/jackson/jackson-mapper-asl/1.9.13/jackson-mapper-asl-1.9.13.jar

缺少ackson-core-asl-1.9.13.jar 时会报错
java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonProcessingException

缺少jackson-mapper-asl-1.9.13 时会报错
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mappingJacksonHttpMessageConverter' defined in ServletContext resource [/WEB-INF/classes/spring/servlet1.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值