Spring MVC支持Json 【含Jar包】
2014-12-23 12:03
323 查看
一、需要Jar包
1、spring
2、json相关Jar包 主要是jackson-core-lgpl-1.8.5.jar和jackson-mapper-lgpl-1.8.5.jar
下载地址:http://download.csdn.net/detail/ajian11/8289937
二、关键配置
1、web.xml配置解决乱码问题
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、springmvc-servlet.xml中的关键配置
a、增加3个Bean,实现Spring MVC对Json对象的自动解析和封装
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringHttpMessageConverter" />
<ref bean="byteArrayHttpMessageConverter" />
<ref bean="jsonHttpMessageConverter" />
<!-- <ref bean="jsonHttpMessageConverter4JS" /> -->
</list>
</property>
</bean>
<bean id="byteArrayHttpMessageConverter"
class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
<bean id="stringHttpMessageConverter"
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json</value>
</list>
</property>
</bean>
b、<!-- mvc注解驱动 -->扫描com.web.controller中的注解
<mvc:annotation-driven />
<context:component-scan base-package="com.web.controller" />
三 com.web.controller包下的jsonHanlder和UserModel实现
@Controller
@RequestMapping("/json")
public class jsonHandler
{
@RequestMapping(value = "/login")
@ResponseBody
public UserModel login(@RequestBody LoginRequestM requestM)
{
UserModel userModel = new UserModel();
userModel.setName("232");
return userModel;
}
}
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) //UserModel被转换为Json结构时,如果其属性中有为空的,则加上该句话后,会被过滤掉,否则都会被转换
@@JsonIgnoreProperties(value = "tel")//该注解作用是忽略对tel属性的Json转换
public class UserModel
{
private String name;
private String tel;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getTel()
{
return tel;
}
public void setTel(String tel)
{
this.tel = tel;
}
}
四、测试html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="./js/test.js"></script>
<script type="text/javascript" src="./js/jquery.min.js"></script>
</head>
<body>
<input type="button" onclick="request();"/>
</body>
</html>
test.js的javascript
function request()
{
var cfg = {
type : 'POST',
data : JSON.stringify({
method : 'upload',
userName:'测试中文乱码',
passWord:'123',
}),
dataType : 'json',
contentType : 'application/json;',
success : function(result) {
alert(1);
}
};
cfg.url = "/JsonTest/json/login";
$.ajax(cfg);
}
1、spring
2、json相关Jar包 主要是jackson-core-lgpl-1.8.5.jar和jackson-mapper-lgpl-1.8.5.jar
下载地址:http://download.csdn.net/detail/ajian11/8289937
二、关键配置
1、web.xml配置解决乱码问题
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、springmvc-servlet.xml中的关键配置
a、增加3个Bean,实现Spring MVC对Json对象的自动解析和封装
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringHttpMessageConverter" />
<ref bean="byteArrayHttpMessageConverter" />
<ref bean="jsonHttpMessageConverter" />
<!-- <ref bean="jsonHttpMessageConverter4JS" /> -->
</list>
</property>
</bean>
<bean id="byteArrayHttpMessageConverter"
class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
<bean id="stringHttpMessageConverter"
class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json</value>
</list>
</property>
</bean>
b、<!-- mvc注解驱动 -->扫描com.web.controller中的注解
<mvc:annotation-driven />
<context:component-scan base-package="com.web.controller" />
三 com.web.controller包下的jsonHanlder和UserModel实现
@Controller
@RequestMapping("/json")
public class jsonHandler
{
@RequestMapping(value = "/login")
@ResponseBody
public UserModel login(@RequestBody LoginRequestM requestM)
{
UserModel userModel = new UserModel();
userModel.setName("232");
return userModel;
}
}
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) //UserModel被转换为Json结构时,如果其属性中有为空的,则加上该句话后,会被过滤掉,否则都会被转换
@@JsonIgnoreProperties(value = "tel")//该注解作用是忽略对tel属性的Json转换
public class UserModel
{
private String name;
private String tel;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getTel()
{
return tel;
}
public void setTel(String tel)
{
this.tel = tel;
}
}
四、测试html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="./js/test.js"></script>
<script type="text/javascript" src="./js/jquery.min.js"></script>
</head>
<body>
<input type="button" onclick="request();"/>
</body>
</html>
test.js的javascript
function request()
{
var cfg = {
type : 'POST',
data : JSON.stringify({
method : 'upload',
userName:'测试中文乱码',
passWord:'123',
}),
dataType : 'json',
contentType : 'application/json;',
success : function(result) {
alert(1);
}
};
cfg.url = "/JsonTest/json/login";
$.ajax(cfg);
}
相关文章推荐
- fastjson 对spring mvc 支持,直接返回对象时候,出现类名的错误
- spring mvc返回json所依賴的jar包
- Struts2——对JSON的支持(struts2-json-plugin.jar )
- Spring MVC关于IE对application/json的content-type不支持解决方案---duang 解决了
- spring mvc支持返回json对象,乱码问题
- spring mvc对Json的支持
- spring mvc 对返回json格式数据的支持
- javaWeb项目添加json支持需要的jar文件
- Spring MVC--12.对json支持
- spring mvc支持返回json
- spring mvc超强的json支持,你自己根本不需要额外的配置。spring mvc都给你配置好了!!!
- spring mvc配置json转换器,jar包冲突导致配置无效
- Spring MVC之JSON数据交互和RESTful的支持
- Spring MVC - 上傳圖片, JSON数据交互 ,RESTful 支持
- java转化json方式2,(需要json官方jar包支持)
- Spring MVC针对IE不支持Content-Type=appliaction/json解决,duang-方案更新了
- java转化json方式2(需要json官方jar包支持)
- Java 9 - 比 Java 8 更接地气:定制最小化的rt.jar, REPL脚本化执行,原生json处理,支持HTTP 2.0,新的锁机制
- JAVA支持json的几个jar
- 关于使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持