分享

tomcat7 下CORS(跨域资源共享) 的配置

 Java技术馆 2014-09-20

CORS介绍

   它在维基百科上的定义是:跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。而这种访问是被同源策略所禁止的。CORS系统定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。 它是一个妥协,有更大的灵活性,但比起简单地允许所有这些的要求来说更加安全。

   而W3C的官方文档目前还是工作草案,但是正在朝着W3C推荐的方向前进。

   简言之,CORS就是为了让AJAX可以实现可控的跨域访问而生的。


Tomcat下的配置

   下载cors-filter-1.7.jar,java-property-utils-1.9.jar这两个库文件,放到lib目录下。(可在

http://search.上查询并下载。)工程项目(如:geoserver)中web.xml中的配置如下:  


   <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>


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约