详解SpringMVC解决跨域的两种⽅案
1. 什么是跨域
跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求。
2. 跨域的应⽤情景
当使⽤前后端分离,后端主导的开发⽅式进⾏前后端协作开发时,常常有如下情景:
1.后端开发完毕在服务器上进⾏部署并给前端API⽂档。
2.前端在本地进⾏开发并向远程服务器上部署的后端发送请求。
在这种开发过程中,如果前端想要⼀边开发⼀边测试接⼝,就需要使⽤跨域的⽅式。
3. 通过注解的⽅式允许跨域
⾮常简单,我们可以在Controller类或其⽅法上加@CrossOrigin注解,来使之⽀持跨域。
举例:
@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
@RequestMapping("/User")
public class UserController {
}
其中origins为CrossOrigin的默认参数,即跨域来源,*即任何来源,也可以是其他域名。即可以以以下形式:
springmvc常用标签@CrossOrigin("test")
@CrossOrigin(origins="test",maxAge=3600)
该注解⽤于⽅法上,写法相同,处理时,SpringMVC会对类上标签和⽅法上标签进⾏合并。
4. 通过配置⽂件的⽅式允许跨域
在l中添加如下配置:
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
使⽤这个Filter即可让整个服务器全局允许跨域。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。