跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不一样于请求指向资源所在域的HTTP请求。前端
当使用先后端分离,后端主导的开发方式进行先后端协做开发时,经常有以下情景:java
很是简单,咱们能够在Controller类或其方法上加@CrossOrigin
注解,来使之支持跨域。
举例:web
@CrossOrigin(origins = "*", maxAge = 3600) @RestController @RequestMapping("/User") public class UserController { }
其中origins为CrossOrigin的默认参数,即跨域来源,*即任何来源,也能够是其余域名。便可以以如下形式:后端
@CrossOrigin("http://test.com") @CrossOrigin(origins="http://test.com",maxAge=3600)
该注解用于方法上,写法相同,处理时,SpringMVC会对类上标签和方法上标签进行合并。跨域
在web.xml中添加以下配置:服务器
<filter-mapping> <filter-name>CorsFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
使用这个Filter便可让整个服务器全局容许跨域。app