Geoserver跨域问题解决方法
目录
环境:
Java7+Tomcat8.0.20+Geoserver2.7.6(war版)
解决步骤:
1、修改%CATALINA_HOME%/webapps/geoserver/WEB-INF/web.xml文件内容:
在filter标签部分添加代码:
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>accept, authorization, origin</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, OPTIONS</param-value>
</init-param>
</filter>
在filter-mapping标签部分添加代码:
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、下载jar包:cors-filter-2.3.jar,Java-property-utils-1.9.1.jar,并将其放入%CATALINA_HOME%/webapps/geoserver/WEB-INF/lib文件夹中。
3、重启geoserver。(可能还需要重启Tomcat)
跨域问题解决。
Tips:
1、注意Java,Tomcat以及GeoServer的版本是否匹配,有些版本不兼容,或者有bug,或者功能不完善!
2、%CATALINA_HOME%是Tomcat的安装目录,在环境变量中可以找到。例如,在我的电脑上是C:\Software\Tomcat-9.0。
3、两个jar包都需要正确放入!若只配置了web.xml,或是配置了web.xml缺少jar包,GeoServer都将无法正常启动!
转载自:https://blog.csdn.net/a20100997/article/details/80073991