电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java后端解決跨域的幾種問題解決

瀏覽:35日期:2022-08-15 10:46:54
1.java過濾器過濾

允許整個項目跨域訪問,可通過filter來進行過慮:

public class SimpleCORSFilter implements Filter{ @Override public void destroy() {} @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; response.setHeader('Access-Control-Allow-Origin', '*'); response.setHeader('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE'); response.setHeader('Access-Control-Max-Age', '3600'); response.setHeader('Access-Control-Allow-Headers', 'x-requested-with'); chain.doFilter(req, res);} @Override public void init(FilterConfig arg0) throws ServletException {} }

在web.xml中需要添加如下配置:

<filter> <filter-name>cors</filter-name> <filter-class>com.ssm.web.filter.SimpleCORSFilter</filter-class> </filter> <filter-mapping> <filter-name>cors</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></filter>

為單個方法提供跨域訪問,直接添加請求頭:

response.setHeader('Access-Control-Allow-Origin', '*'); response.setHeader('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE'); response.setHeader('Access-Control-Max-Age', '3600'); response.setHeader('Access-Control-Allow-Headers', 'x-requested-with');2.后臺Http請求轉發

使用HttpClinet轉發進行轉發(簡單的例子 不推薦使用這種方式)

try { HttpClient client = HttpClients.createDefault(); //client對象 HttpGet get = new HttpGet('http://localhost:8080/test'); //創建get請求 CloseableHttpResponse response = httpClient.execute(get); //執行get請求 String mes = EntityUtils.toString(response.getEntity()); //將返回體的信息轉換為字符串 System.out.println(mes);} catch (ClientProtocolException e) { e.printStackTrace();} catch (IOException e) { e.printStackTrace();}3、后臺配置同源Cors (推薦)

在SpringBoot2.0 上的跨域 用以下代碼配置 即可完美解決你的前后端跨域請求問題

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;/** * 實現基本的跨域請求 * @author linhongcun * */@Configurationpublic class CorsConfig { @Bean public CorsFilter corsFilter() { final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource(); final CorsConfiguration corsConfiguration = new CorsConfiguration(); /*是否允許請求帶有驗證信息*/ corsConfiguration.setAllowCredentials(true); /*允許訪問的客戶端域名*/ corsConfiguration.addAllowedOrigin('*'); /*允許服務端訪問的客戶端請求頭*/ corsConfiguration.addAllowedHeader('*'); /*允許訪問的方法名,GET POST等*/ corsConfiguration.addAllowedMethod('*'); urlBasedCorsConfigurationSource.registerCorsConfiguration('/**', corsConfiguration); return new CorsFilter(urlBasedCorsConfigurationSource); }}4、使用SpringCloud網關

服務網關(zuul)又稱路由中心,用來統一訪問所有api接口,維護服務。Spring Cloud Zuul通過與Spring Cloud Eureka的整合,實現了對服務實例的自動化維護,所以在使用服務路由配置的時候,我們不需要向傳統路由配置方式那樣去指定具體的服務實例地址,只需要通過Ant模式配置文件參數即可

5、使用nginx做轉發

現在有兩個網站想互相訪問接口 在http://a.a.com:81/A中想訪問 http://b.b.com:81/B 那么進行如下配置即可然后通過訪問 www.my.com/A 里面即可訪問 www.my.com/B

server { listen 80; server_name www.my.com; location /A { proxy_pass http://a.a.com:81/A; index index.html index.htm; } location /B { proxy_pass http://b.b.com:81/B; index index.html index.htm; } }

如果是兩個端口想互相訪問接口 在http://b.b.com:80/Api中想訪問 http://b.b.com:81/Api 那么進行如下配置即可使用nginx轉發機制就可以完成跨域問題

server { listen 80; server_name b.b.com; location /Api { proxy_pass http://b.b.com:81/Api; index index.html index.htm; } }

到此這篇關于java后端解決跨域的幾種問題解決的文章就介紹到這了,更多相關java 跨域內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | 三板富 | 专注于新三板的第一垂直服务平台 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 | 济南电缆桥架|山东桥架-济南航丰实业有限公司 | 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 自动化生产线-自动化装配线-直流电机自动化生产线-东莞市慧百自动化有限公司 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 不锈钢监控杆_监控立杆厂家-廊坊耀星光电科技有限公司 | 陕西鹏展科技有限公司 | 柔软云母板-硬质-水位计云母片组件-首页-武汉长丰云母绝缘材料有限公司 | 氢氧化钙设备, 氢氧化钙生产线-淄博惠琛工贸有限公司 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 臭氧灭菌箱-油桶加热箱-原料桶加热融化烘箱-南京腾阳干燥设备厂 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 沉降天平_沉降粒度仪_液体比重仪-上海方瑞仪器有限公司 | 大学食堂装修设计_公司餐厅效果图_工厂食堂改造_迈普装饰 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 英语词典_成语词典_日语词典_法语词典_在线词典网 | 肉嫩度仪-凝胶测试仪-国产质构仪-气味分析仪-上海保圣实业发展有限公司|总部 | 不锈钢丸厂家,铝丸,铸钢丸-淄博智源铸造材料有限公司 | 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 福州甲醛检测-福建室内空气检测_环境检测_水质检测-福建中凯检测技术有限公司 | WF2户外三防照明配电箱-BXD8050防爆防腐配电箱-浙江沃川防爆电气有限公司 | 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 焊接减速机箱体,减速机箱体加工-淄博博山泽坤机械厂 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 |