zoukankan      html  css  js  c++  java
  • tomcat 下配置ajax 跨域 tomcat font face 跨域 java跨域

    tomcat  ajax跨域和css字体 font face  跨域一样适用

    CORS介绍

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

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

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

    Tomcat下的配置

      第一种方式

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

    http://search.maven.org上查询并下载。)

    maven 依赖

    <dependency>
            <groupId>com.thetransactioncompany</groupId>
            <artifactId>cors-filter</artifactId>
            <version>1.7.1</version>
        </dependency>
        <dependency>
            <groupId>com.thetransactioncompany</groupId>
            <artifactId>java-property-utils</artifactId>
            <version>1.9</version>
        </dependency>

    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>

    第二种方式

    直接在web.xml中 (这种方法亲能,有效)

    此时使用的tomcat的catalina,不需要下载任何jar,也不需要引入,此时鼠标放在org.apache.catalina.filters.CorsFilter是点不过去的

    <filter>
            <filter-name>CorsFilter</filter-name>
            <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>CorsFilter</filter-name>
            <url-pattern>/static/*</url-pattern>
        </filter-mapping>
      

    以下是另外一种,没有测试过

    <filter>
          <filter-name>CorsFilter</filter-name>
          <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
            <init-param>
                <param-name>cors.allowed.headers</param-name>
                <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization,auth</param-value>
            </init-param>     
        </filter>
     

     另外还有一种:http://blog.csdn.net/u013224660/article/details/49333457

    注意:二者不能同时使用,不然浏览器端是无法获得值,并报错误

  • 相关阅读:
    【BZOJ3028】食物(生成函数基础题)
    【BZOJ2438】[中山市选2011] 杀人游戏(Tarjan)
    【BZOJ4833】[Lydsy1704月赛] 最小公倍佩尔数(神仙数学题)
    【BZOJ2109】【BZOJ2535】[NOI2010] 航空管制(拓扑反向建图)
    【BZOJ2679】[USACO2012 Open] Balanced Cow Subsets(Meet in Middle)
    【BZOJ3091】城市旅行(再次重拾LCT)
    sass与compass实战
    【Sass初级】开始使用Sass和Compass
    nodejs、sass、backbone等api地址
    解读2015之前端篇:工业时代 野蛮发展(转)
  • 原文地址:https://www.cnblogs.com/q149072205/p/7646508.html
Copyright © 2011-2022 走看看