我们在电脑中发布的arcgis server服务,在电脑上用localhost访问十分容易,图片出来也很容易,通过ip:端口号访问也很容易。。但是,当把项目丢到tomcat中的时候,再在同一内网下访问的时候,手机端的图片怎么都出不来,就像下面这样,为什么呢??
下图是电脑端:
下图是手机端:
可以看到手机端访问一片空白,为什么呢?下面打开浏览器F12分析一下,
我们可以看到,我们按IP地址访问设置的某些文件还是通过IP地址访问的,但是再往下看:
从这里开始,所有文件都是通过localhost来请求的,这就是手机端无法获取该资源的原因,在手机端请求的“localhost”是手机本身,这就涉及到怎样将所有资源通过IP地址访问的问题了。找到刚开始设置tomcat的时候,tomcat没有问题,问题在哪里??
在gis api的设置,当时我们配置gis api的本地访问的时候都是将它设置为“localhost”,这里只需要改两个文件:
\gisapi\arcgis_js_api\library\3.16\3.16\init.js,将该文件中的localhost改为IP地址,
将gisapi\arcgis_js_api\library\3.16\3.16\dojo\dojo.js ,将该目录下的localhost改为ip地址。
重启tomcat(我配置了两个tomcat,一个用来为gis api提供服务,另一个为我的项目提供服务,虽然一个tomcat或许也够,但是避免日后不必要的冲突,我是这么做的),再看请求的情况。网页端请求情况,我们看到所有gis api里的文件都是通过IP地址访问的了。
再来看看手机端情况:OK了。
提示:如果需要垮设备访问,最好所有的“localhost”都设置成IP地址。虽然有点笨,ip地址变的时候要重新设置很多文件里ip地址,但是这样做可以实现垮设备访问,不知道有没有更合适的办法,欢迎各位大神在评论中给我留言~~【原创,转载请注明出处!】
原文地址:https://www.cnblogs.com/milkytea/p/8137921.html