springmvc使用@CrossOrigin注解解决ajax请求接口跨域问题

硅谷探秘者 5242 0 0

springmvc项目中,如一个项目的页面调用另一个项目的接口会产生跨域问题 403。

image.png

对于一个接口而言很好解决跨域问题,springmvc中只需要在接口上加一个注解。

@CrossOrigin(origins = {"http://www.jiajiajia.club","http://photo.jiajiajia.club"})

引号之间地址的意思就是 允许该地址中的请求访问该接口。当然了也可以配多个地址,如上。


如果是整个项目都允许访问的话,那最好配置一个过滤器。

/**
 * 跨域请求过滤器
 * @author xiaoysec
 *
 */@Componentpublic class CrosFilter implements Filter {    @Override
    public void destroy() {        // TODO Auto-generated method stub

    }    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest) request;        if (httpRequest.getMethod() == "OPTIONS" && httpRequest.getHeader("Origin") != null) {
            HttpServletResponse httpResponse = (HttpServletResponse) response;
            httpResponse.setHeader("Access-Control-Allow-Origin", "*");
            httpResponse.setHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE");
            httpResponse.setHeader("Access-Control-Max-Age", "3600");
            httpResponse.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");            // httpResponse.setHeader("","");
            // response.setHeader("","");
        }
        chain.doFilter(request, response);

    }    @Override
    public void init(FilterConfig config) throws ServletException {        // TODO Auto-generated method stub
    }
}





评论区
请写下您的评论...
暂无评论...
猜你喜欢
算法基础,linux 4276 描述springboot项目在名调,并且需要传自定义的头时报错:AccesstoXMLHttpRequestat'http://ydatestapi.libawall.com
weblog 7738 什么是?要了,先要说说同源策略。同源策略是由Netscape公司提出的一个著名的安全策略,所有支持JavaScript的浏览器都会使这个策略。所谓同源是指,名,协议,端相同。当页面在
spring/springmvc 4018 我在之前进行开发的时候经常会有大量的参数验证,而我一般的操作方法就是在controller中进行参数的校验,这样并没有什么错,但是代码略显臃肿,而使springboot的@vaild可以减
数据结构与算法 1578 胜利者,胜利者的编号,以及出局者的顺序。方案使双向循环链表测试数据m=9,n=5输出:517436928代码(c++描述)Node.h#pragmaonceclassNode{public: i
框架 4101 shiroajax访拦截返回json串在shiro自定义拦击的时候一般会继承AuthorizationFilter类重写isAccessAllowed()方法。该方法会根据我们自定义的规则通过
java基础 3336 法已经过时了。(当方法或是类上面有@Deprecated时,说明该方法或是类都已经过期不能再,但不影响以前项目使,提醒你新替代待的方法或是类。如果程序员不小心使了它的元素,那么编译器会发出警告
工具 1816 web项目判断是否为ajax异步importjavax.servlet.http.HttpServletRequest;publicclassAjaxUtil
框架 1138 一、创建项目创建两个项目projectA,projectB二、pom文件相同parentartifactIdspringSession/artifactIdgroupIdorg.example/groupIdversion1.0-SNAPSHOT/version/parentdependenciesdependencygroupIdorg.springframework.boot/groupIda
归档
2018-11  12 2018-12  33 2019-01  28 2019-02  28 2019-03  32 2019-04  27 2019-05  33 2019-06  6 2019-07  12 2019-08  12 2019-09  21 2019-10  8 2019-11  15 2019-12  25 2020-01  9 2020-02  5 2020-03  16 2020-04  4 2020-06  1 2020-07  7 2020-08  13 2020-09  9 2020-10  5 2020-12  3 2021-01  1 2021-02  5 2021-03  7 2021-04  4 2021-05  4 2021-06  1 2021-07  7 2021-08  2 2021-09  8 2021-10  9 2021-11  16 2021-12  14 2022-01  7 2022-05  1 2022-08  3 2022-09  2 2022-10  2 2022-12  5 2023-01  3 2023-02  1 2023-03  4 2023-04  2 2023-06  3 2023-07  4 2023-08  1 2023-10  1 2024-02  1 2024-03  1
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job rabbitmq haproxy srs 音视频 webrtc javascript
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。