zoukankan      html  css  js  c++  java
  • SpringMVC【二 返回xml,json,string】

    一、pom.xml 添加 oxm jackson支持

     <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-oxm</artifactId>
          <version>3.2.4.RELEASE</version>
     </dependency>
     <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-mapper-asl</artifactId>
          <version>1.9.13</version>
     </dependency>

    二、springmvc-xml (名字根据你的web.xml配置的spring过滤器名字来) 添加返回支持

        <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
            <property name="messageConverters">
                <list>
                    <ref bean="stringHttpMessageConverter" />
                    <ref bean="jsonHttpMessageConverter" />
                    <ref bean="marshallingHttpMessageConverter" />
                </list>
            </property>
        </bean>
        
        <bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter" /> 
        <bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
        <bean id="marshallingHttpMessageConverter" class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
                <constructor-arg ref="jaxbMarshaller" />
                <property name="supportedMediaTypes" value="application/xml"></property>
        </bean>
        <bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
            <property name="classesToBeBound">
                <list>
                    <value>com.keeley.model.User</value>
                </list>
            </property>
        </bean>

    三、User类

    package com.keeley.model;
    import javax.xml.bind.annotation.XmlAttribute;
    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlRootElement;
    @XmlRootElement
    public class User {
        private int id;
        private String name;
        public User() {
        }
        public User(int id, String name) {
            this.id = id;
            this.name = name;
        }
        @XmlElement //默认值
        public int getId() {
            return id;
        }
        @XmlAttribute
        public String getName() {
            return name;
        }
        public void setId(int id) {
            this.id = id;
        }
        public void setName(String name) {
            this.name = name;
        }
        
        
    }

    四、Controller类

    package com.keeley.Controller;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import com.keeley.model.User;
    @Controller
    public class TestController {
        @RequestMapping("/test")
        public @ResponseBody Map<String,Object> json(){
            Map<String,Object> map = new HashMap<String,Object>();
            map.put("usernam", "123");
            map.put("pwd", "sercir");
            map.put("user",new User(1,"123"));
            return map;
        }
        @RequestMapping("/xml")
        public @ResponseBody User xml(){
            return new User(1,"123");
        }
        @RequestMapping("/str")
        public @ResponseBody String str(){
            return "OK";
        }
    }

    五、测试访问 {xxx:你的项目地址}

    http://localhost:8080/xxx/test

    http://localhost:8080/xxx/xml

    http://localhost:8080/xxx/str

  • 相关阅读:
    Socket规划(1)
    hdu 2391 Filthy Rich
    UDP议定书图像高速传输无损失程序
    C# 通过豆瓣网络编程API获取图书信息
    OS调度算法常用摘要
    mysql回想一下基础知识
    2015第37周三
    2015第37周二
    2015第37周一
    2015第37周一struts2 jstl 标签
  • 原文地址:https://www.cnblogs.com/keeley/p/3467641.html
Copyright © 2011-2022 走看看