文档章节

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

蜗牛崛起
 蜗牛崛起
发布于 2016/07/28 15:41
字数 377
阅读 112
收藏 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
Cocos Creator 动态加载远程服务器图片资源

var url = "http://localhost:8080/pic/10001.png";//服务器图片路径 var container = this.user_photo.getComponent(cc.Sprite);//图片呈现位置 this.loadImg(container,url); //动态加载图......

AndyZhouX
09/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于Jackson默认丢失Bigdecimal精度问题分析

问题描述 最近在使用一个内部的RPC框架时,发现如果使用Object类型,实际类型为BigDecimal的时候,作为传输对象的时候,会出现丢失精度的问题;比如在序列化前为金额1.00,反序列化之后为1.0...

ksfzhaohui
22分钟前
0
0
vue less安装

$ npm install less less-loader --save 安装成功后修改文件:build>webpack.base.conf.js 在model.rules添加对象: { test: /\.less$/, loader: "style-loader!css-loader!less-loade......

shawnDream
27分钟前
1
0
kolla-ansible部署容器ceph

kolla是从openstack孵化出的一个项目,kolla项目可以制作镜像包括openstack、ceph等容器镜像, ansible是自动化部署工具,执行playbook中的任务。 kolla-ansible是容器部署工具,部署opensta...

zrz11
32分钟前
1
0
【三 异步HTTP编程】 1. 处理异步results

异步results 事实上整个Play框架都是异步的。Play非阻塞地处理每个request请求。 默认的配置适配的正是异步的controller。因此开发者应该尽力避免在在controller中阻塞,如在controller方法中...

Landas
34分钟前
0
0
Android Studio 3.1.4 buildApk遇到问题 Connection reset

打开设置,找到Android Studio选项卡,把下图选项打上勾就ok

lanyu96
34分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部