美文网首页
springmvc 11 json与HttpMessageCon

springmvc 11 json与HttpMessageCon

作者: 小小机器人 | 来源:发表于2016-10-24 18:12 被阅读28次
    返回json格式数据

    1. 新加入jar包
    去官网下载

    http://wiki.fasterxml.com/JacksonDownload

    2. 编写目标方法,使其返回json对应的对象或集合
    3. 在方法上加入@ResponseBody

        @ResponseBody
        @RequestMapping("/testJson")
        public Collection testJson(){
            return deptDao.getAll();
        }
    
    HttpMessageConverter

    HttpMessageConverter的原理

    https://my.oschina.net/lichhao/blog/172562

    @ResponseBody,@RequestBody的使用

    Paste_Image.png
        <form action="testHttpMessageConverter" method="post" enctype="multipart/form-data">
            File:<input type="file" name="file"/><br>
            Desc:<input type="text" name="desc"/><br>
            <input type="submit" value="Submit"/>
        </form>
    
        @ResponseBody
        @RequestMapping("/testHttpMessageConverter")
        public String testHttpMessageConverter(@RequestBody String body){
            /* 参数类型为String
             * 那么springmvc会使用StringHttpMessageConverter
             * 把传入的参数的信息转换为String类型*/
    
            System.out.println("参数为:"+body);
            return "hello"+new Date();
            /* 返回类型为String
             * 那么springmvc会使用StringHttpMessageConverter
             * 把返回的信息转换为String类型*/
        }
    

    后台打印:

    参数为:------WebKitFormBoundaryyBSL9T1T2Yqc5tDY
    Content-Disposition: form-data; name="file"; filename="dd.txt"
    Content-Type: text/plain
    
    I love china
    ------WebKitFormBoundaryyBSL9T1T2Yqc5tDY
    Content-Disposition: form-data; name="desc"
    
    abcd
    ------WebKitFormBoundaryyBSL9T1T2Yqc5tDY--
    
    
    response.gif

    @ResponseEntity的使用(文件下载)

    <a href="testResponseEntity">testResponseEntity</a>
    
        @RequestMapping("/testResponseEntity")
        public ResponseEntity<byte[]> testResponseEntity(HttpSession session){
            byte[] body = null;
            ServletContext servletContext = session.getServletContext();
            InputStream in = servletContext.getResourceAsStream("WEB-INF/files/dd.txt");
            
            try {
                body = new byte[in.available()];
                in.read(body);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            HttpHeaders httpHeader = new HttpHeaders();
            httpHeader.add("Content-Disposition", "attachment;filename=dd.txt");
            
            HttpStatus httpStatus = HttpStatus.OK;
            
            ResponseEntity<byte[]> responseEntity = new ResponseEntity<byte[]>(body,httpHeader,httpStatus);
            return responseEntity;
        }
    }
    

    相关文章

      网友评论

          本文标题:springmvc 11 json与HttpMessageCon

          本文链接:https://www.haomeiwen.com/subject/bkpluttx.html