OpenLayers跨域问题的tomcat下的设…

使用OpenLayers访问WFS服务是存在跨域问题,必须使用设置代理的方法才能正常使用,设置方法如下。

 

 

1. 打开OpenLayers\examples\ 
目录,找到proxy.cgi文件,将其拷贝到网络应用的\WEB-INF\cgi文件夹下

2. 编辑proxy.cgi文件,
在allowedHosts数组段内添加远程地址如geoserver服务器页面是192.168.0.4:8888/geoserver/那么就添加’192.168.0.4:8888’。

3.安装python27到默认的c:/Python27/目录下,经过测试python27可以正常使用,新版本无法保证正常使用,如python33无法正常使用该代理。

4.在应用的web.xml文件内添加如下内容

cgi

org.apache.catalina.servlets.CGIServlet

 

debug

0

 

 

cgiPathPrefix

WEB-INF/cgi

 

 

executable

c:/Python27/python.exe

 

 

passShellEnvironment

true

 

5

 

 

 

default

/

 

 

cgi

/cgi/*

 

 

 

5.修改Tomcat的Tomcat/conf/context.xml文件,将修改为

6.运行测试。假设该应用部署为http://localhost:8080/map/。浏览器上访问:http://localhost:8080/map/cgi/proxy.cgi,正常情况下反馈的是OpenLayers的主页。

7.在js中使用代理。在script开始的地方添加OpenLayers.ProxyHost =
“cgi/proxy.cgi?url=”这句话。

使用该方法经过测试可以解决跨域访问问题,如将geoserver的预览图层页面代码保存下来,在script开始的地方添加OpenLayers.ProxyHost
= “cgi/proxy.cgi?url=”,部署该应用后即可测试,效果应该和原页面一致。

转载自:https://blog.csdn.net/ZHANGHUI3239619/article/details/78746929

You may also like...