博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cors跨域请求,配置Access-Control-Allow-Origin:"*",无效解决方案
阅读量:2353 次
发布时间:2019-05-10

本文共 3294 字,大约阅读时间需要 10 分钟。

由于应用需要跨域请求数据,博主在JDK8、Tomcat7.0的cors可以配置Access-Control-Allow-Origin:"*",但是我按照文档配置以后却没有生效,一度怀疑是tomcat或者jdk的问题,最后想起来web.xml是按照从前往后的顺序加载的。解决方案:是filter位置的问题,你把整个放到第一个filter的位置就可以了。给出web.xml:

<?xml version="1.0"encoding="UTF-8"?>

<web-app id="WebApp_ID"version="2.4"

        xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

        <display-name>och</display-name>

 

        <context-param>

                 <param-name>contextConfigLocation</param-name>

                 <param-value>classpath:spring/spring-*.xml</param-value>

        </context-param>

 

        <listener>

                 <context-param>

                         <param-name>webAppRootKey</param-name>

                         <param-value>och.root</param-value>

                 </context-param>

                 <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

        </listener>

        <listener>

                 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

        </listener>

        <!--启用Spring的scope='request' -->

        <listener>

                 <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>

        </listener>

        <!--CORS 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.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>

 

        <filter>

                 <filter-name>characterEncodingFilter</filter-name>

                 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

                 <init-param>

                         <param-name>encoding</param-name>

                         <param-value>UTF-8</param-value>

                 </init-param>

                 <init-param>

                         <param-name>ForceEncoding</param-name>

                         <param-value>true</param-value>

                 </init-param>

        </filter>

        <filter-mapping>

                 <filter-name>characterEncodingFilter</filter-name>

                 <url-pattern>/*</url-pattern>

        </filter-mapping>

 

        <filter>

                 <filter-name>control</filter-name>

                 <filter-class>com.cmos.core.filter.IControlRequestFilter</filter-class>

                 <init-param>

                         <param-name>controlRequestImpl</param-name>

                         <param-value>com.cmos.och.control.impl.ControlRequestImpl</param-value>

                 </init-param>

                 <init-param>

                         <param-name>controlFilePath</param-name>

                         <param-value>config/control.xml</param-value>

                 </init-param>

                 <init-param><!--Internationalization config -->

                         <param-name>locale</param-name>

                         <param-value>zh_CN</param-value>

                 </init-param>

        </filter>

        <filter-mapping>

                 <filter-name>control</filter-name>

                 <url-pattern>/front/*</url-pattern>

        </filter-mapping>

 

        <filter>

                 <filter-name>struts2</filter-name>

                <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

        </filter>

        <filter-mapping>

                 <filter-name>struts2</filter-name>

                 <url-pattern>/front/*</url-pattern>

        </filter-mapping>

</web-app>

 

转载地址:http://narvb.baihongyu.com/

你可能感兴趣的文章
几种TCP连接中出现RST的情况
查看>>
HTTP的长连接和短连接
查看>>
TCP,IP,HTTP,SOCKET区别和联系
查看>>
域名解析过程,很好的一张图收藏了
查看>>
整理时下流行的浏览器User-Agent大全
查看>>
IAAS、SAAS 和 PAAS 的区别、理解
查看>>
RichEdit对ole 对象的相关支持总结
查看>>
(分享)win10下双显示屏独立设置不同缩放率的方法
查看>>
High DPI Settings in Windows
查看>>
几年来的工作与生活感悟
查看>>
切换输入法导致程序死机的解决办法
查看>>
使用ShellExecute打开目标文件所在文件夹并选中目标文件
查看>>
debug下情况良好、release下频繁奔溃问题的跟踪与解析
查看>>
数据透传的概念
查看>>
Wireshark TCP报文到达ACK确认机制
查看>>
一站式学习Wireshark(四):网络性能排查之TCP重传与重复ACK
查看>>
TCP 的那些事儿
查看>>
Wireshark抓包常见问题解析
查看>>
ip头、tcp头、udp头详解及定义,结合Wireshark抓包看实际情况
查看>>
获取在Windows 资源管理器中执行COPY/PASTE的文件列表信息
查看>>