• geoserver + openlayers 跨域问题解决


    用Openlayers访问GeoServer发布的矢量切片是,出现跨域访问问题,即 CORS 头缺少 'Access-Control-Allow-Origin'
    本人使用环境的版本是:GeoServer 2.18.1,OpenLayers 6.4.3
    解决方法如下:
    1.下载 cors-filter.jar 和 java-property-utils.jar,地址如下
    https://mvnrepository.com/artifact/com.thetransactioncompany/cors-filter/2.9.1
    https://mvnrepository.com/artifact/com.thetransactioncompany/java-property-utils/1.16
    2.将下载的两个 jar包 拷贝至 tomcat 的安装路径下的 lib文件夹中,如:D:...apache-tomcat-9.0.41lib
    3.添加 tomcat 的 web.xml 文件内容,路径为:D:...apache-tomcat-9.0.41confweb.xml
    在 web.xml文件中定位到下面内容,

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    

    在定位内容的前面,添加下面的补充内容:

    <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.supportedMethods</param-name>
                <param-value>GET, POST, HEAD, PUT, DELETE</param-value>
            </init-param>
            <init-param>
                <param-name>cors.supportedHeaders</param-name>
                <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
            </init-param>
            <init-param>
                <param-name>cors.exposedHeaders</param-name>
                <param-value>Set-Cookie</param-value>
            </init-param>
            <init-param>
                <param-name>cors.supportsCredentials</param-name>
                <param-value>true</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>CORS</filter-name>
            <url-pattern>/*</url-pattern>
       </filter-mapping>
    

    4.重启 tomcat,解决问题

  • 相关阅读:
    网络爬虫(抓取)正则表达式 (多线程协作)
    Asp.net 主题
    Asp.net 菜单控件
    CSS 布局Float 【4】
    CSS 布局Float 【3】
    CSS 布局Float 【2】
    CSS 布局Float 【1】
    CSS 布局Float 【0】
    Asp.Net 母版页
    Sql Server 远程过程调用失败
  • 原文地址:https://www.cnblogs.com/lqqgis/p/14167466.html
Copyright © 2020-2023  润新知