zoukankan      html  css  js  c++  java
  • 在什么情况下使用@ResponseBody 注解?

     1 @Controller
     2 @RequestMapping("/")
     3 public class HelloController {
     4    @RequestMapping(value = "/helloWorld", method = RequestMethod.GET)
     5    @ResponseBody
     6    public String helloWorld()  {
     7       return"Hello World";
     8    }
     9  }
    10 
    11 运行以上代码,在浏览器地址栏输入: http://localhost:8080/helloWorld
    12 运行结果,页面上输出 Hello World

    如果不加@responseBody注解,运行结果会怎样?
    结果表明:如果在一个方法上使用了@RequestMapping注解,这时候,方法的返回值通常解析为跳转的路径, 也就是说,要跳转到指定的jsp页面。在这个代码实例中,要跳转到的是 Hello World.jsp 页面。 因为工程中尚未添加这个jsp文件,所以报出了 404 错误 (The requested resource is not available)。 
    如果添加了 @ResponseBody 这个注解, 则表明该方法的返回值直接写入到 HTTP Response Body 中。  这就是说,如果返回的是JSON, 就得必须添加 @ResponseBody 这个注解
    一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。


  • 相关阅读:
    审计 6 SSRF和任意文件读取
    审计5 文件包含漏洞
    审计4 XSS
    owasp Top 10 个人总结
    审计3(由安装引起的服务器沦陷)
    python批量爆破后台目录脚本
    python批量检测注入点脚本
    对VAuditDemo的审计<2>
    工作总结(一)
    使用vue upload 标签上传图片后端MultipartFile 为null
  • 原文地址:https://www.cnblogs.com/lfyu/p/8258169.html
Copyright © 2011-2022 走看看