spring boot 解决跨域,springboot2跨域

  spring boot 解决跨域,springboot2跨域

  

目录

什么是跨域跳羚解决跨域的几种方式方法一、跳羚的注解@交叉起源方式二:使用科尔斯过滤器方式三:自定义过滤(网页过滤器)的方式方式四:实现webmvc配置器中addCorsMappings方法方法五:采用服务器做动态代理

 

  

什么是跨域

跨域:指的是浏览器不能执其他站的脚本。它是由浏览器的同源策略造成的,是浏览器对爪哇岛描述语言施加的安全限制。例如:a页想获取乙等页资源,如果甲、乙页的协议、域名、端、域名不同,所进的访问动都是跨域的,浏览器为了安全问题般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。理解这点很重要同源策略:是指协议,域名,端都要相同,其中有个不同都会产跨域;

 

  

springboot解决跨域的几种方式

 

  

方法一、SpringBoot的注解@CrossOrigin

直接在控制器方法或者类上增加@交叉起源注解,SpringMVC使用@交叉起源使用场景要求jdk1.8 Spring4.2

 

  @ get mapping(/hello )@ CrossOriginpublic String hello(){ return hello : simpledateformat。format(new Date());}

  

方式二:使用CorsFilter

导入org。spring框架。语境。注释。豆;导入org。spring框架。语境。注释。配置;导入org。spring框架。网络。CORS。CORS配置;导入org。spring框架。网络。CORS。urlbasedcorconfigurationsource;导入org。spring框架。网络。过滤器。CORS滤波器;@配置公共类config配置{ @ Bean公共CORS过滤器CORS过滤器(){ CORS配置CORS配置=新CORS配置();CORS配置。addallowedoriginpattern( * );CORS配置。addallowedheader( * );CORS配置。addallowedmethod(“*”);CORS配置。setallowcredentials(true);UrlBasedCorsConfigurationSource ub=new UrlBasedCorsConfigurationSource();注册配置(/** ,CORS配置);返回新的过滤器(ub);}}

 

  

方式三:自定义过滤(web filter)的方式

@组件公共类自定义过滤器实现Filter { @ Override public void do Filter(servlet请求servlet请求,ServletResponse,FilterChain filterChain)抛出IOException,servlet异常{ http servlet响应RES=(http servlet响应)servlet响应;//设置允许cookie RES . add头( Access-Control-Allow-Credentials , true );//允许http://www.xxx.com域(自行设置,这里只做示例)发起跨域请求RES . add头( Access-Control-Allow-Origin , * );//设置允许跨域请求的方法RES . add头( Access-Control-Allow-Methods , GET,POST,DELETE,PUT );//允许跨域请求包含content-type RES . add头( Access-Control-Allow-Headers , content-type,X-CAF-Authorization-Token,sessionToken,X-Token );if((http servlet请求)servlet请求).getMethod().equals( OPTIONS ){ servlet响应。获取writer().println(" ok ");返回;}滤镜链。do过滤器(servlet请求,servlet响应);}}

 

  

方式四:实现WebMvcConfigurer中addCorsMappings方法

导入org。spring框架。刻板印象。组件;导入组织。spring框架。网络。servlet。配置。注释。CORS登记处;导入org。spring框架。网络。servlet。配置。注释。webmvc配置器;@Componentpublic类mywebmvc配置器实现WebMvcConfigurer { @ Override public void addCorsMappings(CORS注册表注册表){ registry。添加映射(/* *)//匹配所有的路径allowCredentials(true) //设置允许凭证allowedHeaders(*) //设置请求头allowedMethods(GET , POST , PUT , DELETE) //设置允许的方式allowedOriginPatterns( * );}}

 

  00-1010就这样。本文介绍了使用springboot解决跨领域问题的几种方法。有关使用springboot解决跨域问题的更多信息,请搜索以前关于流行IT的文章或继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: