SpringMVC回写数据方式方法

目录

回写数据

1、直接返回字符串

将字符串转成json格式回传到客户端

2、直接返回对象或集合      

使用SpringMVC自动将对象或集合转化为json格式

 注解方式优化转化json

 mvc命名空间


回写数据

1、直接返回字符串

Web基础截断,客户端访问服务器端,如果想直接回写字符串作为响应题返回的话,只需要使用response.getWrite().print("KCandZH")即可,所以在Controller中想直接回写字符串,可以直接在方法中写入response。

方法1:通过SpringMVC框架注入的response对象,使用response.getWrite().print("hello")回写数据,此时不需要视图跳转,业务方法返回值为void

//配置类,使用注解把这个类放到容器中
@Controller
@RequestMapping(value="user")
public class userController {
    @RequestMapping("/quick6")
    public void save6(HttpServletResponse response) throws IOException {
        response.getWriter().print("hello itcase");

    }
}

SpringMVC回写数据方式方法_第1张图片

 ②将需要回写的字符串直接返回,但需要通过@ResponseBody注解告知SpringMVC框架,方法返回的字符串不是跳转某个视图,而是直接在http响应体重返回。(加上则不会进行前后缀拼接)

//配置类,使用注解把这个类放到容器中
@Controller
@RequestMapping(value="user")
  @ResponseBody//告诉SpringMVC框架不进行视图跳转,而是直接进行数据响应
public class userController {
    @RequestMapping("/quick7")
    public String  save7(HttpServletResponse response) throws IOException {
        return "hello itcase";

    }
}

SpringMVC回写数据方式方法_第2张图片

将字符串转成json格式回传到客户端

user类下

package com.pojo;

public class User {
    private int age;
    private String username;

    public User() {

    }
    public void setAge(int age) {
        this.age = age;
    }

    public void setName(String username) {
        this.username = username;
    }
}

userController类下

//配置类,使用注解把这个类放到容器中
@Controller
@RequestMapping(value="user")
    public class userController {
        @RequestMapping("/quick9")
        @ResponseBody
        public String save9() throws JsonProcessingException {
            User user=new User();
            user.setAge(30);
            user.setName("lisi");
        //使用json的转换工具将对象转换成json格式字符串再返回
            ObjectMapper objectMapper=new ObjectMapper();
            String json = objectMapper.writeValueAsString(user);
            return json;
        }
}

      要使用json转换工具,还得导入依赖


        
            com.fasterxml.jackson.core
            jackson-core
            2.9.0
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.9.0
        

        
            com.fasterxml.jackson.core
            jackson-annotations
            2.9.0
        

  运行结果

SpringMVC回写数据方式方法_第3张图片

2、直接返回对象或集合      

使用SpringMVC自动将对象或集合转化为json格式

通过SpringMVC帮助我们对对象或集合进行json字符串的转换并回写,为处理器适配器配置消息转换参数是,指定使用jackson进行对象或集合的转换,因此需要在spring-mvc.xml中进行这样配置

配置spring-mvc.xml中处理器映射器


    
        
            
                
            
        
    

   在userController类中                                                                                                             

//配置类,使用注解把这个类放到容器中
@Controller

@RequestMapping(value="user")
    public class userController {

    @RequestMapping("/quick10")
    @ResponseBody
    //配置完成处理器映射器后,SpringMVC会将USer转化为json格式
    public User save10() throws JsonProcessingException {
        User user=new User();
        user.setAge(32);
        user.setName("lisi2");

        return user;
    }
}

运行结果

SpringMVC回写数据方式方法_第4张图片

 注解方式优化转化json

在方法上添加@ResponseBody就可以返回json格式的字符串,但是这样配置比较麻烦,配置的代码比较多,因此,我们可以使用mvc的注解驱动代替上述配置。


 、

在SpringMVC的各个组件中,处理器映射器、处理器适配器、视图解析器称为SpringMVC的三大组件。使用自动加载RequestMappingHandlerMapping(处理映射器)和RequestMappingHandlerAdapter(处理适配器),可用在Spring-xml.xml配置文件中使用替代注解处理器和适配器的配置。
同时使用默认底层就会集成jackson进行对象或集合的json格式字符串的转换

 mvc命名空间

因为使用了mvc命名空间,所以得导入mvc


在spring-mvc.xml配置文件中


    

SpringMVC回写数据方式方法_第5张图片

 这样就完成了注解配置

你可能感兴趣的:(SSM框架,java,服务器,前端,spring,springMVC)