最近学习了springmvc 使用@responseBody注解以son格式返回消息,但是通过http解析器解析,response 返回的是text/html类型
在网上找了好久也没有找到解决的办法
js代码:
function login() { $.ajax({ type : "post", contentType : "application/json;charset=UTF-8", url : "/springmvc1/user/login", data : JSON.stringify({username:$("#username").val(),password:$("#password").val()}), success : function(data) { if (data == null) { return false; } else { return true; } },error: function(){ alert("error"); }, dataType : "json" }); }
springmvc配置:
<context:component-scan base-package="com.control"></context:component-scan> <!--资源包--> <mvc:resources location="/js/" mapping="/js/**" /> <mvc:resources location="/css/" mapping="/css/**" /> <mvc:resources location="/image/" mapping="/image/**" /> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!--json转换器--> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>json/application;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/jsp/"></property> <property name="suffix" value=".jsp"></property> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"> </property> </bean>
控制器代码:
@RequestMapping(value = "/login", method = { RequestMethod.POST, RequestMethod.GET }) public @ResponseBody User Login(@RequestBody User user) { user = userServiceImpl.getUser(user.getUsername(), user.getPassword()); return user; }