ArcGIS for JS 3.x代理配置

在上一篇博文中详细介绍了跨域问题的解决方案,跨域问题详解
ArcGIS for JS 3.x作为调用方使用代理来处理跨域问题,同时也可以发送POST请求解决GET请求最大2048个字符的限制问题。

官方代理设置指南:https://developers.arcgis.com/javascript/3/jshelp/ags_proxy.html

  • 1、代理文件下载
          https://github.com/Esri/resource-proxy/releases

  • 2、添加依赖

     //引入Spring boot 内嵌的Tomcat对jsp的解析包
     compile('org.apache.tomcat.embed:tomcat-embed-jasper')
     compile('javax.servlet:javax.servlet-api:4.0.1')
     compile('javax.servlet:jsp-api:2.0')
     compile('javax.servlet:jstl')
    
  • 3、设置代理文件的地址

 require(["esri/config"], function (esriConfig) {
   	 //代理配置
     esriConfig.defaults.io.proxyUrl = "/demo/proxy.jsp";//指定代理文件在项目中的实际位置
     esriConfig.defaults.io.alwaysUseProxy = false;
 });
  • 4、配置需要代理的请求路径
    在proxy.jsp文件会从classpath中(即classes目录下)找proxy.config文件,当alwaysUseProxy 设置为false时,只有与proxy.config中匹配的url地址才会使用代理。
    在这里插入图片描述
    proxy.config配置:
    serverUrl 标签中url属性配置要代理的地址,matchAll属性是否全匹配。另外还可以配置代理日志输出路径和日志级别。

     <?xml version="1.0" encoding="utf-8" ?>
     <ProxyConfig allowedReferers="*"
                     logFile="proxy_log.log"
                     logLevel="INFO"
                     mustMatch="true">
       <serverUrls>
          <serverUrl url="http://services.arcgisonline.com" matchAll="true"/>
          <serverUrl url="http://localhost:8080/geoserver/ows" matchAll="true"/>
          <serverUrl url="http://localhost:8080/geoserver/wms" matchAll="true"/>
          <serverUrl url="http://localhost:8080/geoserver/wfs" matchAll="true"/>
       </serverUrls>
     </ProxyConfig>
     <!-- See https://github.com/Esri/resource-proxy for more information -->
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值