1、首先对fastjson进行包导入并且在Spring配置文件中进行配置
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
2、举例:
在后台代码中
@RequestMapping("/check") @ResponseBody public String checkLogin(@RequestBody User user,HttpServletRequest request) throws UnsupportedEncodingException, NoSuchAlgorithmException { System.out.println(user.toString()); if(user!=null){ return "login_succ"; }else{ return "login_fail"; } }
在jsp页面中
var ds = {}; ds.username=user; ds.password=pwd; $.ajax({ type:"POST", url:"/login/check", contentType : 'application/json', data:JSON.stringify(ds), success:function (data) { if(data=="login_succ"){ window.location.href="/user/home"; }else{ $("#login_error").css("visibility","visible"); } }, error : function(data){ alert(data.status); } });
上述中
JSON.stringify()方法不可缺
contentType:'application/json' 不可缺
@RequestBody不可缺
这就是javaBean 获取方式,如果缺了上面的其中一种,那就用request.getParameter接受吧,如果参数过多那就得写许多request.getXXX 方法。