• CROS跨域 解决方案 之 tomcat 做过滤处理解决


    摘自:http://www.cnblogs.com/liuwenhao-1/articles/6963540.html

    1 、在项目中常常遇到本地访问服务器上的链接数据访问不到,并出现如下问题:

    这是因为tomcate 的配置中过滤了请求方式,

    解决方案:

    1、在tomcate中引入两个jar包:java-property-utils-1.9.1.jarcors-filter-1.7.1.jar。 http://pan.baidu.com/s/1jHZYkpK    ,将两个包放在配置的tomcate下的lib中。

    2、修改tomcate下的conf/web.xml,添加内容如下:

    复制代码
     1       <filter>
     2         <filter-name>CORS</filter-name>
     3         <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
     4         <init-param>
     5             <param-name>cors.allowOrigin</param-name>
     6             <param-value>*</param-value>
     7         </init-param>
     8         <init-param>
     9             <param-name>cors.supportedMethods</param-name>
    10             <param-value>GET,POST,HEAD,PUT,DELETE</param-value>
    11         </init-param>
    12         <init-param>
    13             <param-name>cors.supportedHeaders</param-name>
    14             <param-value>Accept,Origin,X-Requested-With,Content-Type,Last-Modified</param-value>
    15         </init-param>
    16         <init-param>
    17             <param-name>cors.exposedHeaders</param-name>
    18             <param-value>Set-Cookie</param-value>
    19         </init-param>
    20         <init-param>
    21             <param-name>cors.supportsCredentials</param-name>
    22             <param-value>true</param-value>
    23         </init-param>
    24     </filter>
    25     <filter-mapping>
    26         <filter-name>CORS</filter-name>
    27         <url-pattern>/*</url-pattern>
    28     </filter-mapping>
    复制代码

    3、若前台在header中添加了参数,则tomcate默认会过滤掉从而不走后台,例如在header中加入了参数NAMEPASS则在tomcate下的conf/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,NAME,PASS</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>
    复制代码
  • 相关阅读:
    node 学习资源网址---存根
    组件通讯
    vue------反响代理
    基于angular4.0分页组件
    angular4.0 父子组建之间的相互通信
    h5 新增特性用法---持续更新
    h5可预览 图片ajax上传 (补更),后台数据获取方法---php
    原生js表单序列化----- FormData
    有意思的面试题汇总----持续更新
    原生ajax封装,数据初始化,
  • 原文地址:https://www.cnblogs.com/cnblogs-jcy/p/6963612.html
Copyright © 2020-2023  润新知