maven 开发接口遇到的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 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>

最近在研究前后端分离模式,遇到的问题就这些,有问题的朋友可以一起讨论学习。

猜你喜欢

转载自blog.csdn.net/wjy0629/article/details/85156769