文档章节

Tomcat 7 下 java web 项目 跨域CORS请求解决方案

蜗牛崛起
 蜗牛崛起
发布于 2016/07/28 15:41
字数 377
阅读 106
收藏 0

首先我们先看下什么是 CORS(跨来源资源共享/跨域资源共享)

跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。简单来说就是可让 A 网域向 B 网域发出跨网域的 AJAX 请求。而这种访问是被同源策略所禁止的。

举个例子,假设我们有两个网址,且来自两台不同的主机,分别为:http://www.website1.com http://www.website2.com 也因为他们来自于不同的主机,它们会被浏览器认定为来自不同的来源,

或是在这种情况下: http://www.website.comhttps://www.website.com 这两个网址还是属于不同的来源,因为他们的协议是不同的。

其次我们看下如何使Tomcat下的 java web 项目支持跨域请求。

Tomcat下的配置

下载cors-filter-1.7.jar,java-property-utils-1.9.jar这两个库文件,(下载链接:http://www.oschina.net/code/piece_full?code=58292&piece=86852#86852)放到lib目录下。(tomcat 默认安装目录 C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\lib)。

java web 工程项目中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>

© 著作权归作者所有

共有 人打赏支持
蜗牛崛起
粉丝 3
博文 127
码字总数 63547
作品 0
东城
程序员
基于CORS 为Jfainl实现跨域请求

(该方式存在session会在每次请求都创建的情况。因为最近在休假,故解决方案稍后在方步) 以下提供Ext、SenchaTouch解决方案: 在Ajax请求中添加 withCredentials : true,useDefaultXhrHead...

罗盛力
2013/09/29
0
6
Spring MVC 4.2 增加 CORS 支持

标签: spring mvc / cors / 跨越资源共享 30238 Spring MVC 4.2 增加 CORS 支持 跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP...

费氏家族
2017/11/01
0
0
ajax跨域,这应该是最全的解决方案了

前言 搬运的历史文章 从刚接触前端开发起,这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么,于...

dailc
07/01
0
0
Spring 跨域支持(CROS)注解:@CrossOrigin

Spring MVC 4.2 增加 CORS 支持 跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求。比如说,域名A(http://domaina.example)的某...

孟飞阳
2017/11/08
0
0
SpringBoot | 番外:使用小技巧合集

前言 最近工作比较忙,事情也比较多。加班回到家都十点多了,洗个澡就想睡觉了。所以为了不断更太多天,偷懒写个小技巧合集吧。之后有时间都会进行文章更新的。原创不易,码字不易,还希望大...

oKong
08/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux下如何查看版本信息

Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。  1、# uname -a (Linux查看版本当前操作系统内核信息)   Linux localhost.l...

15834278076
28分钟前
0
0
单点登录 SSO 的实现原理

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。 单点登录在大型网站里...

明理萝
28分钟前
1
1
虚拟机性能监控工具

前言 JVM调优流行这么一句话“无监控不调优”,因为如果没有监控,就不知道虚拟机的运行状况。更谈不上调优了,所以,学习和了解Java 虚拟机的监控工具很有必要。 概述 在Java虚拟机中经常用...

kukudeku
38分钟前
1
0
一行搞定electron和jquery冲突,electron和jquery最简单和完美的兼容方法

electron和jquery的常见报错: Uncaught ReferenceError: $ is not defined 解决方法:在jquery最末端加上这样一行判断即可. <script src="https://code.jquery.com/jquery-2.2.0.min.js"></s......

xiaogg
48分钟前
0
0
GC和内存管理

1、垃圾回收器需要关注的内容 ava运行时内存区域的各个部分中,程序计数器、虚拟机栈、本地方法栈这三个区域的生命周期和线程相关,栈中的栈帧随着方法的进入和退出执行着进栈和出栈,每一个...

京一
54分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部