版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wjy0629/article/details/85156769
1、不显示中文
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射,解决@ResponseBody乱码问题, 需要在annotation-
driven之前,否则乱码问题同样无法解决 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
2、java中以对象进行接收数据,ajax传json字符串,后台获取obj=null
1> 首先确认是否导入必要依赖库
<!-- json相关 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.7</version>
</dependency>
<!-- json相关 -->
2> spring-mvc配置文件中是否添加了对象映射
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
3> 确认ajax 传的数据是否为json字符串
$(function(){
$("#submit").click(function(){
// alert($("#form1").serialize())
var str = {userName:"王对对对",
password:"qwertyuiop",
nickName:"owne",
age:20,
sex:true,
signature:"我爱祖国"};
$.ajax({
type:'post',
url:'http://127.0.0.1:8080/mss/user/add',
contentType:'application/json;charset=UTF-8',
dataType : 'json',
data:JSON.stringify(str),
async:true,//默认为true
timeout:10000,//ms
beforeSend:function(){},//请求前的处理
success:function(data,status){
$(window).attr("location","../html/show.html")
},
complete:function(){},//请求完成的处理
error:function(XHR){
alert(XHR.status);
}
})
})
})
3、ajax提交请求时,由于html与后端分离,域名服务器不一样或者浏览器限制等
<!-- 跨域方案 -->
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, PUT, DELETE</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
</init-param>
<init-param>
<param-name>cors.exposedHeaders</param-name>
<param-value>Set-Cookie</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.maxAge</param-name>
<param-value>3600</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最近在研究前后端分离模式,遇到的问题就这些,有问题的朋友可以一起讨论学习。