Java 跨域 CrossOrigin注解 Filter拦截 Nginx配置
说明
- 资源请求的发起方与请求的资源不在同一个域中的;
- 一般的,只要网站的【协议名protocol】、【主机host】、【端口号port】这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用;
- 跨域请求能够达到服务端,但是返回结果会被浏览器拦截;
处理方式
1、filter处理器
一般的处理方法,在Filter中拦截请求,在请求头中添加信息,例如:
setHeader("Access-Control-Allow-Origin","*")
2、@CrossOrigin注解
1、Spring 4.2之后提供了跨域注解 @CrossOrigin;
2、可以用在方法或Controller上;
3、Controller和方法上都有时,Spring会合并两个注解的属性一起使用;
@CrossOrigin
@RequestMapping("/obtainJqxxListByPage")
public Map obtainJqxxListByPage(){}
注解属性有以下7个
String[] value() default {}
String[] origins() default {}
String[] allowedHeaders() default {}
String[] exposedHeaders() default {}
RequestMethod[] methods() default {}
String allowCredentials() default {}
long maxAge() default -1L
3、Nginx配置解决跨域
作者:Muscleape
出处:http://www.cnblogs.com/muscleape/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。