在web.xml中配置字符编码过滤器
org.springframework.web.filter.CharacterEncodingFilter
在服务器端获取json字符串并解析
@Controller
public class GetJSONStringToObject {
@RequestMapping(value = "createJSONObjectURL", method = RequestMethod.POST)
public String createJSON(@RequestBody Userinfo userinfo) {
System.out.println("username value=" + userinfo.getUsername());
System.out.println("password value=" + userinfo.getPassword());
return "test.jsp";
}
}
使用@RequestBody注解,前台只需要向Controller提交一段符合json格式的request body体,SpringMVC就会自动将其拼装成javabean。
springMVC-servlet.xml
<mvc:annotation-driven />
添加注解使json字符串自动转换为实体类。
添加jackson.jar
在控制层返回json对象
@Controller
public class CreateJSON {
@RequestMapping(value = "createJSONURL", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
@ResponseBody
public Userinfo createJSON(@RequestBody Userinfo userinfoParam) {
System.out.println("param username=" + userinfoParam.getUsername()
+ " password=" + userinfoParam.getPassword());
Userinfo userinfo = new Userinfo();
userinfo.setUsername("高洪岩中文");
userinfo.setPassword("我的密码中文");
userinfo.setStudyList(new ArrayList<String>());
userinfo.getStudyList().add("Java");
userinfo.getStudyList().add("Delphi");
userinfo.getStudyList().add("HTML");
userinfo.getStudyList().add("JQuery+JavaScript");
return userinfo;
}
}
控制层通过属性consumes = "application/json"限制前台传递过来的数据格式必须是json,
通过属性produces = "application/json"设置返回的userinfo数据要转成json对象并回传给客户端,
@ResponseBody 将json字符串作为响应处理。