springmvc使用@CrossOrigin注解解决ajax请求接口跨域问题
springmvc项目中,如一个项目的页面调用另一个项目的接口会产生跨域问题 403。
对于一个接口而言很好解决跨域问题,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
4641
问题描述springboot项目在跨域名调用接口,并且需要传自定义的请求头时报错:AccesstoXMLHttpRequestat'http://ydatestapi.libawall.com
weblog
8521
什么是跨域?要了解跨域,先要说说同源策略。同源策略是由Netscape公司提出的一个著名的安全策略,所有支持JavaScript的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当页面在
spring/springmvc
4345
我在之前进行接口开发的时候经常会有大量的参数验证,而我一般的操作方法就是在controller中进行参数的校验,这样并没有什么错,但是代码略显臃肿,而使用springboot的@vaild注解可以减
数据结构与算法
1846
胜利者,求胜利者的编号,以及出局者的顺序。解决方案使用双向循环链表测试数据m=9,n=5输出:517436928代码(c++描述)Node.h#pragmaonceclassNode{public: i
框架
4465
shiro解决ajax访问拦截返回json串在shiro自定义拦击的时候一般会继承AuthorizationFilter类重写isAccessAllowed()方法。该方法会根据我们自定义的规则通过
blog
java注解的理解与运用
java基础
3647
法已经过时了。(当方法或是类上面有@Deprecated注解时,说明该方法或是类都已经过期不能再用,但不影响以前项目使用,提醒你新替代待的方法或是类。如果程序员不小心使用了它的元素,那么编译器会发出警告
blog
web项目判断请求是否为ajax异步请求
工具
2036
web项目判断请求是否为ajax异步请求importjavax.servlet.http.HttpServletRequest;publicclassAjaxUtil
框架
1442
一、创建项目创建两个项目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
2024-04
1
2024-08
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
加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。