• [转发]SPRING MVC3.2案例讲解--SPRING MVC3的@ResponseBody和ResponseEntity


    在传统的开发过程中,我们的控制CONTROLL层通常需要转向一个JSP视图;但随着WEB2.0相关技术的崛起,我们很多时候只需要返回数据即可,而不是一个JSP页面。

    SPRING MVC3的@ResponseBody使Controller直接返回数据,而不是直接指向具体的视图;同时通过

    MessageConverter和produces(如produces="text/plain;charset=UTF-8")可以返回各种格式的数据(XML,json,RSS,TEXT,字节流等),本章只介绍最简单的使用;

    见代码:

    @ResponseBody可以直接返回结果,

    而ResponseEntity 可以定义返回的HttpHeaders和HttpStatus,见文章最后的两张图

    [java] view plain copy
     
    1. @RequestMapping(value="/response", method=RequestMethod.GET)  
    2. public class ResponseController {  
    3.   
    4. //http://127.0.0.1:8010/response/annotation  
    5.     @RequestMapping("/annotation")  
    6.     public @ResponseBody String responseBody() {  
    7.         return "The String ResponseBody";  
    8.     }  
    9.   
    10.   
    11.     @RequestMapping("/charset/accept")  
    12.     public @ResponseBody String responseAcceptHeaderCharset() {  
    13.         return "u3053u3093u306bu3061u306fu4e16u754cuff01 ("Hello world!" in Japanese)";  
    14.     }  
    15.   
    16. //http://127.0.0.1:8010/response/charset/produce  
    17.     @RequestMapping(value="/charset/produce", produces="text/plain;charset=UTF-8")  
    18.     public @ResponseBody String responseProducesConditionCharset() {  
    19.         return "u3053u3093u306bu3061u306fu4e16u754cuff01 ("Hello world!" in Japanese)";  
    20.     }  
    21.   
    22. //http://127.0.0.1:8010/response/entity/status  
    23.     @RequestMapping("/entity/status")  
    24.     public ResponseEntity<String> responseEntityStatusCode() {  
    25.         return new ResponseEntity<String>("The String ResponseBody with custom status code (403 Forbidden)",  
    26.                 HttpStatus.FORBIDDEN);  
    27.     }  
    28.   
    29. //http://127.0.0.1:8010/response/entity/headers  
    30.     @RequestMapping("/entity/headers")  
    31.     public ResponseEntity<String> responseEntityCustomHeaders() {  
    32.         HttpHeaders headers = new HttpHeaders();  
    33.         headers.setContentType(MediaType.TEXT_PLAIN);  
    34.         return new ResponseEntity<String>("The String ResponseBody with custom header Content-Type=text/plain",  
    35.                 headers, HttpStatus.OK);  
    36.     }  
    37.   
    38. }  

     

     

     

  • 相关阅读:
    Android开发总结
    Java开发中的23种设计模式详解(转)
    Linux下Tomcat的安装配置
    Linux下Tomcat的启动、关闭、杀死进程
    在陌生Linux环境查看Tomcat服务的方法
    JAVA用freemarker生成复杂Excel。(freemarker)
    JAVA生成Word文档(经过测试)
    jvm 内存溢出 在myeclipse中加大tomcat的jvm内存 java.lang.OutOfMemoryError: PermGen space
    TabHost
    ProgressBar
  • 原文地址:https://www.cnblogs.com/may-25/p/5485948.html
Copyright © 2020-2023  润新知