JavaWeb跨域访问问题

转载: http://blog.csdn.net/zjq_1314520/article/details/65449279

最后的解决方案如下:

在 tomcat 的 conf目录下找到 web.xml 文件,打开,加入下列代码: 
注意:若该web.xml中存在其它filter,则需要将该filter放在所有filter前面

<filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
  <init-param>
    <param-name>cors.allowed.methods</param-name>
    <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
  </init-param>
  <init-param>
    <param-name>cors.allowed.headers</param-name>
    <!--注意,若你的应用中不只有这些文件头,则需要将你应用中需要传的文件头也加上;
    例如:我的应用中需要在header中传token,所以这里的值就应该是下面的配置,在原有基础上将token加上,否则,应用就不会被允许调用
    <param-value>token,Access-Control-Allow-Origin,Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
    -->
    <param-value>Access-Control-Allow-Origin,Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
  </init-param>
  <async-supported>true</async-supported>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

最后就解决了!

同时,如果我上面的没有解决您的问题,可以参考下这个博客: 
http://blog.csdn.net/xlxxcc/article/details/54588571

原文地址:https://www.cnblogs.com/zxf330301/p/8579680.html