SSM前后端分离项目中存在的跨域问题

        最近找了一个SSM的小项目练手,后端是在idea上,服务器用的tomcat,前端在VScode上。

项目是一个基础项目,但其中涉及了跨域问题,在一通搜索资料后解决了问题,主要过程如下:

        问题表现是发送登录请求之后,浏览器会报一个403,错误信息如下图所示:

         之后我就写了一个CorsFilter,在里面设置了允许的Origin,该类实现了Filter,代码如下图所示:

        照理说,里面已经明确写出了响应允许localhost:5500的访问,这时应该已经解决了跨域问题,但是测试之后发现并没有。

        最后解决方法是在SpringMVC的配置类中,重写了addCorsMappings方法来解决的,具体代码如下:

@Override
public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/**")
            .allowedOrigins("http://localhost:5500", "http://127.0.0.1:5500")
            .allowedMethods("GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE")
            .allowedHeaders("*")
            .exposedHeaders("*")
            .allowCredentials(true)
            .maxAge(3600);
}

         问题成功解决了,但是我仍然想不通,为什么上面的跨域过滤器不起作用,因为还没学到SpringBoot,网上大部分解决方案都针对的是SpringBoot框架,对于我这种小白真的很难活学活用到SSM上,不过好在问题成功解决了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值