springboot整合arcgis代理resource-proxy

Springboot集成PostGIS完成路径规划 因为公司里需要做关于林区防火方面的项目,需要完成着火后山区路径的导航,但.....某德的功能似乎只能到达山区的边上,后边的路就需要自己完成导航了。搞了一个周终于有所效果了,也遇见了很多的坑,在此记录一下,希望以后不要踩坑。需要上述的环境才能进行路径导航,环境的搭建可以参阅 阅读详情

springboot整合arcgis代理resource-proxy

1. 没有必要改造为servlet或者controller

之前写了文章,为了让代理能被系统登录验证拦截,所以想办法改为可控制的版本,servlet或者controller,现在发现并不用改造,修改项目配置支持jsp就行了,也能支持前后端分离项目。

2.配置springboot的支持jsp

  1. 依赖中添加tomcat的jsp包
       <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
  1. build中添加资源文件内容
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/webapp</directory>
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>

3. 放入代理配置文件

  1. proxy.config文件放在resource目录下。添加几条测试配置
   <serverUrls>
    <serverUrl url="http://services.arcgisonline.com" matchAll="true"/>
    <serverUrl url="https://services.arcgisonline.com" matchAll="true"/>
    <serverUrl url="http://www.baidu.com" matchAll="true"/>
  </serverUrls>
  1. proxy.jsp文件放在webapp目录下,没有就在resource同级添加一个webapp目录
    在这里插入图片描述

4.测试权限验证

  1. 拦截测试,没有token情况下,是会被拦截的。
    在这里插入图片描述

  2. 添加token后访问正常
    在这里插入图片描述

  3. 访问静态资源
    在这里插入图片描述

5. 解决代理的url转义问题

传入的被代理url地址会出现转义的情况,微服务下可能需要添加如下代码

  • ?被转义成了%3F
    在这里插入图片描述

  • ping类型的没有?的路径,后面默认跟了=,此时会报403

在这里插入图片描述

proxy.jsp能处理正确的路径是:

  • ...../proxy.jsp?https%3A%2F%2Fservices.arcgisonline.com%2Farcgis%2Frest%2Fservices%2FWorldElevation3D%2FTerrain3D%2FImageServer%2Ftile%2F0%2F0%2F0%3Fsdfasdf=123
  • ...../proxy.jsp?ping

此路径在微服务服务之间传递路径时会被转义。所以用这样的步骤处理下。

   
    String originalUri = request.getQueryString();
    System.out.println("originalUri = " + originalUri);
    try {
        if (originalUri.contains("%3F")) {
            String str = "";
            String[] strings = originalUri.split("%3F");

            for (int i = 0; i < strings.length; i++) {
                if (i == 0) {
                    strings[i] = URLDecoder.decode(strings[i], "UTF-8");
                }
                if (i == 0) {
                    str += strings[i] + "?";
                } else if (i != strings.length - 1) {
                    str += strings[i] + "%3F";
                } else {
                    str += strings[i];
                }
                //System.out.println("strings["+i+"] = " + strings[i]);
            }
            originalUri = str;

        } else if (originalUri.endsWith("=")) {
            String decode = URLDecoder.decode(originalUri, "UTF-8");
            originalUri = decode.substring(0, decode.length() - 1);

        }
        System.out.println("originalUri decode = " + originalUri);
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

    _log(Level.INFO, "Creating request for: " + originalUri);

在这里插入图片描述

使用GeoTools在Spring Boot项目中实现ShapeFile数据的建表和入库(GIS) 在Spring Boot项目中,我们可以利用GeoTools库来处理ShapeFile数据,并将其建表和入库,以实现GIS功能。通过使用GeoTools库和Spring Boot框架,我们可以方便地实现ShapeFile数据的建表和入库操作。通过读取ShapeFile数据并结合数据库操作,我们可以在Spring Boot项目中实现强大的GIS功能。最后,我们可以在Spring Boot应用程序的控制器或其他地方调用上述服务类来完成ShapeFile数据的建表和入库操作。在上述示例中,我们使用。 阅读详情

相关推荐

SAP WMS开发实战:用BAPI_L_TO_CREATE_MULTIPLE搞定LT01转储单(附完整代码)

本文详细解析了SAP WMS开发中如何利用BAPI_L_TO_CREATE_MULTIPLE函数模块批量创建LT01转储单。文章深入剖析了核心参数、常见错误及实战代码框架,重点强调了源/目标存储类型等关键字段的获取方法,为系统集成与自动化流程开发提供了可靠的解决方案。

view3的博客 561

这些年写过的无厘头代码(五)Springboot下使用ArcGIS Engine

springboot 中使用 arcgis engine

wangvanloon的博客 1321

深入解析SSD报错“READ FPDMA QUEUED”:从诊断到修复全流程

本文深入解析了SSD报错“READ FPDMA QUEUED”的含义、成因与全流程解决方案。该错误通常指示硬盘硬件或健康状态问题。文章详细介绍了如何通过系统日志定位错误、解读关键的S.M.A.R.T.健康报告(重点关注重分配扇区计数等指标),并逐步进行硬件排查(如更换SATA数据线)、软件修复与数据抢救,最终指导用户根据诊断结果做出维修或更换SSD的决策。

weixin_29233333的博客 400

SuperMap iObjects Java 之 SpringBoot 部署 GIS 服务

本文主要介绍如何以 SuperMap iObjects Java 组件为功能基础,结合 SpringBoot 开源框架快速搭建 GIS 后台服务。

SuperMap技术控 1982

KUKA .RSI 软件包

KUKA RSI软件包通过XML文件使得机器人与外部设备(传感器通讯)通讯成为了可能,但仍存在诸多限制,该模块最多允许9台设备进行连接,有限的IO口,匮乏的功能,并且需要投入大量精力琢磨相关说明文档。为此开发人员针对KUKA实时通讯,做了一些开源的接口使得上位机与机械臂的通讯更为简单。

huhu7777的博客 3293

别再只用相机标定了!手把手教你用OpenCV和Python搞定投影仪标定(附完整代码)

本文详细介绍了如何使用Python和OpenCV实现投影仪标定,特别针对结构光三维扫描中的核心问题。通过低成本替代方案和优化算法,解决投影仪标定中的非线性畸变和亮度-距离耦合效应,显著提升三维重建精度。附完整代码和实战技巧,帮助开发者快速掌握关键技术。

weixin_29274337的博客 542

软工实习日记5

今天的主要内容是在之前的开发基础上, 给用户增加一个权限模块, 大致先划分为无权限用户, 普通用户和管理员两类, 管理员有权力给普通用户和无权限用户分配权限 下面将给出在前两天开发基础上增加的代码 数据库 ssm_users 该表无变化 ssm_role 该表存储权限的种类和描述 ssm_user_role 该表建立用户id到权限的映射 暂时只给id=1的Tom和id=2的Lily分别分配管理员和普通用户权限 XML配置 RoleMapper.xml 包含需要用到的三条sql语句 <?xml

PsychedelicGhost的博客 581

Xilinx DDR3 MIG IP核设计--汇总导航

快速上手Xilinx DDR3 IP核----汇总篇

孤独的单刀 2万+

【案例实战】SpringBoot整合Redis的GEO实现查找附近门店功能

SpringBoot整合Redis的GEO实现查找附近门店功能

互联网小阿祥 4234

华为OD机试真题 新系统 2026-04-19 C语言 实现【8位LED控制器】

有一个8位LED控制器,包含8个LED灯(编号0-7),初始状态全灭,用8位二进制表示为:00000000。控制器可以接收以下三种指令: Lx:L表示点亮操作,x表示LED的编号(0一7),操作得到的结果是:点亮第x个LED灯,把状态设为1。 Dx:D表示熄灭操作,x表示LED的编号(0-7),操作得到的结果是:熄灭第x个LED灯,把状态设为0。 Tx:T表示切换操作,x表示LED的编号(0-7),操作得到的结果是:切换第x个LED灯的状态,若状态为0则变为1,为1则变为0。 现在给定一组指令字符串(0<

MISAYAONE的博客 148

QT实现MQTT服务端(附完整源码)

QT实现MQTT服务端(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1253

Arcgis的proxy使用

直接把https://github.com/Esri/resource-proxy下载的Java拷贝到Tomcat的webapps目录,修改Java目录为httpproxy。启动后测试 ‘’ 默认proxy.config只会代理services.arcgisonline.com,所以访问下面地址会出错 配置proxy.jsp增加需要代理的地址 再次访问成功 在网页中如何使用,虽然这里alwaysUseProxy用了false,但是html中使用request请求的时候会通过代理去调用。

su317的专栏 1834

大数据分析工具Power BI(二):Power BI下载安装和模块介绍

首先在Microsoft官方网站上下载PowerBI Desktop,然后进行安装。id=58494点击"Next"后会弹出下载框,进行下载即可,下载好的PowerBI名称为"PBIDesktopSetup_x64.exe",也可以在"资料"中获取安装包,双击安装包即可安装。

Lansonli(蓝深李)的博客 2319

ArcGIS api for javascript 的入门学习

1、安装依赖 npm install @arcgis/core 2、按需引入(根据需要引入) import Map from "@arcgis/core/Map"; import MapView from '@arcgis/core/views/MapView'; import Basemap from '@arcgis/core/Basemap'; import Extent from '@arcgis/core/geometry/Extent'; import Circle from '@ar

七月❤的博客 3015

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Arcgis使用本地js和css的方法

默认的情况下,arcgis会使用官网的js和css样式,加载会很忙,地图有时候会因为js文件请求超时而加载不到,特别影响体验,所以很有必要将js文件打包到项目中来使用; 1.官网下载对应的js包 2.放到content目录下面,如图所示 3.修改js中的路径地址 修改两个js中的地址为相对路径,之前应该[HOSTNAME_PATH]啥的吧,不记得了;修改成相对路径 4.在使...

xiaoguangtouqiang的博客 1346

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

vue笔记(20200917)内包含(安装和创建vue、导入HBuilder、路由router、后台springboot跨域配置、arcgis of js 的配合)

重新开始创建一个vue项目,并做好笔记 一、创建项目 1.首先安装vue-cli cnpm install -g @vue/cli 2.安装webpack cnpm install -g webpack 如果webpack安装失败的话 npm install --save-dev webpack-cli -g 3.然后打开vue控制台 vue ui 4.输入具体参数 由此创建完毕 其中node的npm(cnpm)是负责下载 的 vue ui 是给一个界面让你去创建vue项目,当然你直接使用

Jos 1084

html js读txt文件_HTML 中异步加载 JS 文件

HTML 中异步加载 JS 文件平时习惯:将 script 放到 body 底部首先,我们有一个意识:对于 HTML 文件而言,要将引入 JavaScript 代码的 script 放到底部。例如:首先我们要创建一个名为 index.js 的脚本文件,其内容为:constbtn=document.querySelector('button');btn.onclick=()=...

weixin_39781930的博客 317

Java SpringBoot 集成PostGIS(附项目代码)

Java SpringBoot 集成PostGIS(附代码) 环境 java 1.8 框架:springboot2 持久层:mybatis plus 数据库:postgresql+postgis 1、gradle配置postgresql依赖 dependencies { ... compile group: 'org.postgresql', name: 'postgresql', version: '42.2.14' ... } 2、配置yml文件 spring: data

u011505575的博客 7032

基于SpringBoot和PotsGIS的各省地震震发可视化分析

本文使用SpringBoot框架进行开发,将深度分析全国各省的地震震发情况,按照省级行政区划的方式进行空间统计分析,空间数据库依然采用我们熟悉的PostGIS数据库。通过本文可以对全国各省的地震分布有一个大致的了解,快来看看你所在省份是否是地震高发区

夜郎King的博客 8875

Spring Boot+高德地图热力图静态数据展示

高端开放平台 控制台----》应用管理----》我的应用----》创建新应用 开发者支持----》示例与体验----》jsAPI示例中心 项目目录 创建的Spring Boot项目 map.jsp 注意,key是刚才申请的那个key &lt;%@ page language="java" contentType="text/html; charset=UTF-8"...

Sid小杰的博客 4621

基于SpringBoot和PostGIS的震中影响范围可视化实践

本文将结合地震信息数据,基于SpringBoot框架开发,PostGis数据库作为空间数据库,Leaflet作为WebGIS可视化组件,重点讲解如何进行地震影响范围分析。

夜郎King的博客 9201

spring boot 集成 postgis jar

以上就是将 PostGIS 集成到 Spring Boot 应用程序中的基本步骤。需要注意的是,PostGIS 数据库的使用方式与传统的关系型数据库有所不同,需要熟悉 PostGIS 的基本概念和使用方法。1. 将 PostGIS JDBC 驱动程序添加到项目依赖项中。

worldkingpan的专栏 975

SpringBoot框架自动发布GeoSever图层服务(实战,包会!!!)

java语言的springboot框架自动发布geoserver的wms服务,包含了zip工具转换,geojson工具转换等一系列工具

m0_59540171的博客 3202

springBoot+Maven+postGis整合

PostGis

qq_37158147的博客 1239

vue-springboot基于GIS的旅游信息管理系统设计与实现

好地发挥本系统的技术优势,根据旅游信息管理系统的需求,本文尝试以B/C经典设计模式中的Spring Boot框架,JAVA语言为基础,通过必要的编码处理、旅游信息管理系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法,旨在完成一个快速、高效、便捷的旅游信息管理系统。本系统以用户与管理员两类人,作为目标用户,其中用户主要功能包含用户的注册与登录,热门景点、旅游线路等,对账号相关信息的修改;管理员主要功能包括了对用户、热门景点、旅游线路、特色美食、酒店客房等;管理员可以实现最高权限级别的全系统管理,

QQ3166678367的博客 711
上一篇: SSM整合时,ibatis.io.ResolverUtil - Reader entry 乱码的解决办法
披萨俺的辣
博客等级 码龄11年 17粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值