zoukankan      html  css  js  c++  java
  • Spring mvc 返回json格式

    第一次使用spring mvc ,在此也算是记录一下以防忘记,希望有经验的朋友指出不足的地方

    一、使用maven管理jar。

    1. <dependency>  
    2.     <groupId>org.codehaus.jackson</groupId>  
    3.     <artifactId>jackson-core-lgpl</artifactId>  
    4.     <version>1.9.6</version>  
    5. </dependency>  
    6. <dependency>  
    7.     <groupId>org.codehaus.jackson</groupId>  
    8.     <artifactId>jackson-core-asl</artifactId>  
    9.     <version>1.9.4</version>  
    10. </dependency>  
    11. <dependency>  
    12.     <groupId>org.codehaus.jackson</groupId>  
    13.     <artifactId>jackson-mapper-asl</artifactId>  
    14.     <version>1.9.5</version>  
    15. </dependency>  
    16. <dependency>  
    17.     <groupId>org.codehaus.jackson</groupId>  
    18.     <artifactId>jackson-mapper-lgpl</artifactId>  
    19.     <version>1.9.6</version>  
    20. </dependency>  


    
    

    二、配置spring-servlet.xml:

    1. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">      
    2.         <property name="messageConverters">      
    3.             <list >      
    4.                 <ref bean="mappingJacksonHttpMessageConverter" />      
    5.             </list>      
    6.         </property>      
    7.     </bean>  


    mappingJacksonHttpMessageConverter : 用来处理json格式转换


    1. <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">    
    2.     <property name="supportedMediaTypes">    
    3.         <list>    
    4.             <value>application/json;charset=UTF-8</value>    
    5.        </list>    
    6.     </property>  
    7. </bean>  


    1、

    如果 mappingJacksonHttpMessageConverter 可以 直接写成如下:

    1. <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />    
    这样默认应该是 :ISO-88859-1

    2、

    supportedMediaTypes 的 list 里面 可以写多个value

    <list>

    <value>apolication/json; charset=UTF-8</value>

    <value>text/html;charset=UTF-8</value>

    </list>

    三、controller 配置@ResponseBody

    1. @Controller  
    2. public class LoginController {  
    3.     @RequestMapping(value="/validataUser.json")  
    4.     @ResponseBody  
    5.     public Map<String,Object> validataUser(@RequestParam String userName){  
    6.         logger.info(" validata user : {}",userName);  
    7.         Map<String,Object> map = new HashMap<String,Object>();  
    8.         map.put("code"true);  
    9.         return map;  
    10.     }  
    11. }  

    四:页面上仍然按照原来的ajax区json的格式一样、



    题外话:

    关于 @ResponseBody:

    将内容或对象作为 HTTP 响应正文返回,使用@ResponseBody将会跳过视图处理部分,而是调用适合HttpMessageConverter,将返回值写入输出流。





  • 相关阅读:
    课程总结第十一周
    用户场景分析
    团队冲刺10
    课程总结第十周
    团队冲刺09
    梦断代码阅读笔记03
    转发和重定向的区别
    request
    servletConfig
    servlet
  • 原文地址:https://www.cnblogs.com/wang3680/p/3d1bbff1d33569d470fbd02664f4ac75.html
Copyright © 2011-2022 走看看