什么是跨域问题 ?Spring MVC 如何解决跨域问题 ?

1. 什么是跨域问题 ?

跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。

跨域问题的 3 种情况:

  1. 协议不同,例如 http 和 https;
  1. 域名不同;
  • 一级域名、二级域名..不同,都算跨域请求
  1. 端口不同.
  • 80
  • 443

为什么要有跨域问题 ?

跨域问题本质上是浏览器的一种保护机制,它诞生的初衷是为了保证用户的安全,防止恶意网站窃取数据。但是这个保护机制也带来新的问题,它使得不同站点之间的正常调用,也会遇到阻碍。

2. Spring MVC 如何解决跨域问题 ?

  1. 定义一个配置类;

  2. 在配置类中写一个方法,返回 WebMvcConfigurer 对象,并重写 addCorsMappings 方法。

java 复制代码
@Configuration
public class MyConfiguration {
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                // 设置允许跨域的请求规则【响应头里添加标识】
                registry.addMapping("/api/**");
            }
        };
    }
}

跨域问题,它的请求可以到达后端,只不过在后端返回响应给前端的时候,浏览器会做跨域问题的验证。

为什么不在前端验证 ?

因为前端代码是可以修改的,通过开发者工具都是可以伪造的,所以在前端验证没有意义。

相关推荐
云烟成雨TD37 分钟前
Spring AI 1.x 系列【61】Spring AI 2.0 升级指南
java·人工智能·spring
A.说学逗唱的Coke3 小时前
【大模型专题】Spring AI Alibaba × Skill 整合实战:让 AI 真正“会干活
java·人工智能·spring
砍材农夫4 小时前
物联网实战|Spring Boot + Netty 搭建 MQTT 消息路由与流转层
java·spring boot·后端·物联网·spring
swordbob4 小时前
3 大 I/O 模型BIO / NIO / AIO
java·linux·spring
swordbob4 小时前
CAP 定理:为什么不能同时实现 C、A、P?
开发语言·后端·spring
二哈赛车手5 小时前
新人笔记---idea索引失效问题解决方案
java·笔记·spring·elasticsearch·intellij-idea
韩小兔修媛史6 小时前
SpringCloud八股文面试
spring·spring cloud·面试
至此流年莫相忘6 小时前
Spring 依赖注入三剑客:@Autowired、@Resource 与 @RequiredArgsConstructor 深度对比与实战指南
java·数据库·spring
shushangyun_7 小时前
批发商城系统源码多少钱?2026最新报价一览
java·开发语言·人工智能·spring·spring cloud
小易撩挨踢7 小时前
[特殊字符] Spring AI 2.0.0 正式发布:大版本升级,MCP 原生集成 + Anthropic SDK 全线重构
人工智能·spring·重构