@CrossOrigin注解解决跨域问题

一、什么是跨域

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。
所谓同源是指,域名,协议,端口均相同,举个栗子:

  • http://www.123.com/index.html 调用 http://www.123.com/server.PHP (非跨域)
  • http://123.com/index.html 调用http://456.com/server.php (主域名不同:123/456,跨域)
  • http://www.abc.123.com/index.html 调用 http://www.def.123.com/server.php(子域名不同:abc/def,跨域)
  • http://www.123.com:8080/index.html调用http://www.123.com:8081/server.php(端口不同:8080/8081,跨域)
  • http://www.123.com/index.html 调用 https://www.123.com/server.php(协议不同:http/https,跨域)

二、@CrossOrigin注解是干什么用的

@CrossOrigin是一个Java注解,用于指示浏览器允许跨域请求资源。在Web应用程序中,如果JavaScript代码试图从一个域名获取来自不同域名的资源,这将会触发浏览器的同源策略,从而导致浏览器阻止跨域请求。使用@CrossOrigin注解可以允许浏览器绕过同源策略,从而允许跨域请求。

@CrossOrigin注解可以用于类级别或方法级别,如果用于类级别,将适用于整个类中的所有方法。它接受一些参数,包括:

  • origins:指示允许跨域请求的来源。默认情况下,它是"*",表示允许来自任何来源的跨域请求。
  • methods:指示允许的HTTP方法。默认情况下,它包括GET、HEAD和POST。
  • maxAge:指示浏览器可以缓存预检请求的时间(以秒为单位)。
  • allowedHeaders:指示允许的请求头。
  • exposedHeaders:指示可以访问响应头的列表。

总之,使用@CrossOrigin注解可以解决跨域请求的问题,使得Web应用程序能够更灵活地使用跨域资源。

三、用法

在controller层接口上加上@CrossOrigin注解即可。

	@CrossOrigin
    @RequestMapping("/sayHello")
    public String sayHello() {
        return userService.sayHello();
    }

相关推荐

  1. @CrossOrigin注解解决问题

    2024-04-15 09:30:05       18 阅读
  2. 解决问题

    2024-04-15 09:30:05       22 阅读
  3. 解决问题

    2024-04-15 09:30:05       7 阅读
  4. 问题+解决express

    2024-04-15 09:30:05       13 阅读
  5. 问题解决

    2024-04-15 09:30:05       43 阅读
  6. 如何解决问题

    2024-04-15 09:30:05       49 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-15 09:30:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-15 09:30:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-15 09:30:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-15 09:30:05       20 阅读

热门阅读

  1. LeetCode 128.最长连续数列

    2024-04-15 09:30:05       22 阅读
  2. UE C++ 知识杂记

    2024-04-15 09:30:05       13 阅读
  3. Dubbo技术问答系列-NO3

    2024-04-15 09:30:05       20 阅读
  4. vscode中vue3文件中没有自动提示

    2024-04-15 09:30:05       40 阅读
  5. 作为前端TypeScript开发人员学习Rust的经验

    2024-04-15 09:30:05       17 阅读
  6. C++/Qt三维点云PCL/VTK/OpenGL算法项目推荐

    2024-04-15 09:30:05       19 阅读