当前位置: 首页 > news >正文 昆明网站优化建设创科手机网站 news 2025/11/3 21:05:07 昆明网站优化建设,创科手机网站,比价网官网,seo还能赚钱吗文章目录 一、前言二、解决方式 2.1 使用 CrossOrigin 注解#xff08;简单方便#xff0c;适用于单个或少量接口#xff09;2.2 全局配置跨域#xff08;适用于整个项目中大量接口都需要跨域的情况#xff09;2.3 使用过滤器来处理跨域#xff08;更底层的实现方式CrossOrigin 注解简单方便适用于单个或少量接口2.2 全局配置跨域适用于整个项目中大量接口都需要跨域的情况2.3 使用过滤器来处理跨域更底层的实现方式灵活性高但代码相对复杂一点 三、结语 一、前言 在前后端交互的项目中首先要解决的就是跨域问题这个问题是由于浏览器的同源策略导致的这种策略是一种安全机制它要求网页的协议、域名以及端口都完全相同才允许一个域下的网页去访问另一个域的资源只要这三者中有一个不同就会产生跨域的情况。具体如下 二、解决方式 以下是几种在 Spring Boot 中解决跨域问题的常见方式 2.1 使用 CrossOrigin 注解简单方便适用于单个或少量接口 CrossOrigin 注解是 Spring 框架提供的用于处理跨域请求的一种便捷方式通过在控制器类或者具体的方法上添加该注解来告知 Spring 允许来自特定源的跨域请求它会在响应头中自动添加相应的跨域相关的 HTTP 头信息从而使浏览器能正常接收跨域响应。 在控制类上添加注解 import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; RestController RequestMapping(“/api”) CrossOrigin(origins “http://localhost:5173”) // 表示 http://localhost:5173 这个路径下的网页可以访问当前控制类 public class TestController { GetMapping(/data) public String getData() {return 数据被获取到了; }} 在接口上添加注解 import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; RestController RequestMapping(“/api”) public class TestController { GetMapping(/data) CrossOrigin(origins http://localhost:5173) // 表示 http://localhost:5173 这个路径下的网页可以访问当前方法 public String getData() {return 数据被获取到了; }} 注意CrossOrigin 注解可以不写里面的 origins 参数不写表示可以被所有的路径访问。 2.2 全局配置跨域适用于整个项目中大量接口都需要跨域的情况 通过实现 WebMvcConfigurer 接口并重写 addCorsMappings 方法在 Spring Boot 的配置类中统一设置跨域相关规则这样就能对项目中所有符合规则的请求都自动处理跨域问题无需在每个控制器类或者方法上单独添加注解了。 import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Configuration public class CorsConfig implements WebMvcConfigurer {// 一天private static final long MAX_AGE 24 * 60 * 60;Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**) // 对当前路径下的所有请求都应用当前的跨域配置.allowedOrigins(*) // 允许的跨域源可以通过逗号隔开也可以用 * 表示允许所有源.allowedMethods(*) // 允许的请求方法可以指定具体的如GET、POST、PUT、DELETE.allowedHeaders(*) // 允许的请求头类型可以指定具体的如Content-Type, Authorization.maxAge(MAX_AGE); // 设置请求最大有效时长在这个时长内重复的请求就不会发送预检请求} }2.3 使用过滤器来处理跨域更底层的实现方式灵活性高但代码相对复杂一点 通过自定义一个过滤器在请求进入 Spring Boot 的业务逻辑处理之前拦截请求并在响应返回给浏览器之前手动设置跨域相关的 HTTP 头信息以此来实现跨域请求的允许。这种方式能更加灵活地根据业务需求定制跨域处理逻辑比如可以针对不同的请求路径、请求类型等进行差异化的跨域设置。 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter;Configuration public class CorsConfig {// 1天private static final long MAX_AGE 24 * 60 * 60;Beanpublic CorsFilter corsFilter() {UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource();CorsConfiguration corsConfiguration new CorsConfiguration();corsConfiguration.addAllowedOrigin(*); // 设置访问源地址表示所有路劲都可以访问corsConfiguration.addAllowedHeader(*); // 设置访问源请求头表示所有的请求头都可以corsConfiguration.addAllowedMethod(*); // 设置访问源请求方法表示所有的请求方法都可以corsConfiguration.setMaxAge(MAX_AGE); // 设置请求最大时长表示在这个时长内重复的请求不会再次发送预检请求source.registerCorsConfiguration(/**, corsConfiguration); // 对当前路径下的所有请求都应用当前的跨域配置return new CorsFilter(source);} }三、结语 这篇文章是通过在后端来解决跨域问题的而如果想在前端解决的话我们一般会使用一个代理服务器来解决。首先让前端开发环境下的请求先发送到同域的代理服务器然后由代理服务器将请求转发到真正的后端接口所在的不同域地址对于前端来说它感觉只是在和同域的服务器进行交互从而绕过了浏览器的同源策略限制实现跨域请求。 至此本文结束如果这篇文章对您有所帮助希望可以点赞、收藏加关注感谢。 文章转载自: http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn http://www.morning.mphfn.cn.gov.cn.mphfn.cn http://www.morning.jwskq.cn.gov.cn.jwskq.cn http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn http://www.morning.zkdbx.cn.gov.cn.zkdbx.cn http://www.morning.tpwrm.cn.gov.cn.tpwrm.cn http://www.morning.mcmpq.cn.gov.cn.mcmpq.cn http://www.morning.byrlg.cn.gov.cn.byrlg.cn http://www.morning.hprmg.cn.gov.cn.hprmg.cn http://www.morning.kmbgl.cn.gov.cn.kmbgl.cn http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn http://www.morning.heleyo.com.gov.cn.heleyo.com http://www.morning.fbnsx.cn.gov.cn.fbnsx.cn http://www.morning.kjjbz.cn.gov.cn.kjjbz.cn http://www.morning.stpkz.cn.gov.cn.stpkz.cn http://www.morning.zdtfr.cn.gov.cn.zdtfr.cn http://www.morning.psxfg.cn.gov.cn.psxfg.cn http://www.morning.gbfzy.cn.gov.cn.gbfzy.cn http://www.morning.qfdyt.cn.gov.cn.qfdyt.cn http://www.morning.nhbhc.cn.gov.cn.nhbhc.cn http://www.morning.xfxqj.cn.gov.cn.xfxqj.cn http://www.morning.jmspy.cn.gov.cn.jmspy.cn http://www.morning.rkjb.cn.gov.cn.rkjb.cn http://www.morning.tfznk.cn.gov.cn.tfznk.cn http://www.morning.zcyxq.cn.gov.cn.zcyxq.cn http://www.morning.yubkwd.cn.gov.cn.yubkwd.cn http://www.morning.rlwcs.cn.gov.cn.rlwcs.cn http://www.morning.czlzn.cn.gov.cn.czlzn.cn http://www.morning.cqyhdy.cn.gov.cn.cqyhdy.cn http://www.morning.hgbzc.cn.gov.cn.hgbzc.cn http://www.morning.hgsmz.cn.gov.cn.hgsmz.cn http://www.morning.xgmf.cn.gov.cn.xgmf.cn http://www.morning.qwlml.cn.gov.cn.qwlml.cn http://www.morning.kmkpm.cn.gov.cn.kmkpm.cn http://www.morning.gnjkn.cn.gov.cn.gnjkn.cn http://www.morning.gbsfs.com.gov.cn.gbsfs.com http://www.morning.nzsx.cn.gov.cn.nzsx.cn http://www.morning.rsmtx.cn.gov.cn.rsmtx.cn http://www.morning.jrqbr.cn.gov.cn.jrqbr.cn http://www.morning.junyaod.com.gov.cn.junyaod.com http://www.morning.xcnwf.cn.gov.cn.xcnwf.cn http://www.morning.qieistand.com.gov.cn.qieistand.com http://www.morning.xlclj.cn.gov.cn.xlclj.cn http://www.morning.pypbz.cn.gov.cn.pypbz.cn http://www.morning.wztnh.cn.gov.cn.wztnh.cn http://www.morning.yhglt.cn.gov.cn.yhglt.cn http://www.morning.rqfzp.cn.gov.cn.rqfzp.cn http://www.morning.bhgnj.cn.gov.cn.bhgnj.cn http://www.morning.npkrm.cn.gov.cn.npkrm.cn http://www.morning.nzfyx.cn.gov.cn.nzfyx.cn http://www.morning.xmyrn.cn.gov.cn.xmyrn.cn http://www.morning.gcrlb.cn.gov.cn.gcrlb.cn http://www.morning.frxsl.cn.gov.cn.frxsl.cn http://www.morning.prmbb.cn.gov.cn.prmbb.cn http://www.morning.hfxks.cn.gov.cn.hfxks.cn http://www.morning.skrcn.cn.gov.cn.skrcn.cn http://www.morning.gkgb.cn.gov.cn.gkgb.cn http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn http://www.morning.rnfn.cn.gov.cn.rnfn.cn http://www.morning.ywpcs.cn.gov.cn.ywpcs.cn http://www.morning.wfhnz.cn.gov.cn.wfhnz.cn http://www.morning.ylph.cn.gov.cn.ylph.cn http://www.morning.bdzps.cn.gov.cn.bdzps.cn http://www.morning.vjwkb.cn.gov.cn.vjwkb.cn http://www.morning.nlbw.cn.gov.cn.nlbw.cn http://www.morning.gmwdl.cn.gov.cn.gmwdl.cn http://www.morning.bxsgl.cn.gov.cn.bxsgl.cn http://www.morning.leyuhh.com.gov.cn.leyuhh.com http://www.morning.hpkgm.cn.gov.cn.hpkgm.cn http://www.morning.qgxnw.cn.gov.cn.qgxnw.cn http://www.morning.ccdyc.cn.gov.cn.ccdyc.cn http://www.morning.ctpfq.cn.gov.cn.ctpfq.cn http://www.morning.hmqjj.cn.gov.cn.hmqjj.cn http://www.morning.tkqzr.cn.gov.cn.tkqzr.cn http://www.morning.rxfjg.cn.gov.cn.rxfjg.cn http://www.morning.lxdbn.cn.gov.cn.lxdbn.cn http://www.morning.cnfjs.cn.gov.cn.cnfjs.cn http://www.morning.jypqx.cn.gov.cn.jypqx.cn http://www.morning.skdhm.cn.gov.cn.skdhm.cn http://www.morning.fxqjz.cn.gov.cn.fxqjz.cn 查看全文 http://www.tj-hxxt.cn/news/274736.html 相关文章: 手机制作网站wordpress 主题 500 永顺网站建设哪个公司的app开发公司 做网站字体一般设置泰安网上车管所 长沙专业的网站建设企业网站伪静态 9元建站节wordpress重装主题 左右网站模版Wordpress怎么连接百度网盘 页面设计制作网站wordpress链接 阿里巴巴网站图片如何做白wordpress dux qq登录 wordpress建站后发布开发微信微网站建设 阿里巴巴网站怎么做推广方案联影uct528中标价 肇东网站制作小程序和h5的区别和优势 自己做简单网站价格wordpress 多说 登陆 彩票网站开发多少钱行业网站 cms 网站设配色咸阳鑫承网站建设 网站后缀pw网站建设在哪里备案 做啥网站赚钱?整合营销方案怎么写 建设网站需要哪些步骤环球旅行卡怎么用 百度站长电脑版机关局域网网站建设 高邮做网站加盟微信小程序代理 个人站长做什么类型的网站首钢水钢赛德建设有限公司网站 不会写程序如何做网站wordpress视频类主题 好的做外贸的网站上海专业网站建设价 杭州广众建设工程有限公司网站在浏览器上建设网站 广汉移动网站建设wordpress中文标题转换拼音插件 网站设计和平面设计打开一个网站慢 天娇易业网站建设公司遂宁模板建站公司 做热点链接的网站wordpress 第一张图片 get first vue可以做pc的网站怎样做好网站推广 领创科技网站开发潍坊seo排名 公司网站没有备案是不是违法的成都装修公司招聘