环境: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都将无法正常启动!
|