李锋镝的博客

  • 首页
  • 时间轴
  • 说说
  • 每日心情
  • Now
  • 系列文章
  • AI工具集
  • 论坛
  • 左邻右舍
    • 左邻右舍
    • 博友圈
    • 游客中心
  • 留言
    • 留言
    • 走心评论
  • 关于
    • 关于本站
    • 网站地图
    • 网站统计
    • 另一个网站
    • 赞助
  • 🚇开往
!Destiny
惟坚韧者始能遂其志
  1. 首页
  2. 原创
  3. 正文

Tomcat7.0配置CORS(跨域资源共享)

2019年6月12日 约 599 字2 分钟 190 0 0
本文最后更新于 2019年6月13日,距今已 2660 天,其中的信息可能已经发生变化,请注意甄别。

平时我们做前台页面时可能会遇到浏览器以下提示(浏览器控制台):

    已阻止跨源请求:同源策略禁止读取位于 http://xxx.xxx.com\r\n 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')

这种情况就是跨域请求被阻止,这样可能会导致当前网站的css、js 、ajax请求、font字体等资源出现无法正常访问的问题,这时就涉及到“跨域资源共享”这个问题了。

以下列举跨域问题的几种情形:

URL 说明 是否允许通信
http://www.a.com/a.js
http://www.a.com/b.js
同一域名下 允许
http://www.a.com/lab/a.js
http://www.a.com/script/b.js
同一域名下不同文件夹 允许
http://www.a.com:8000/a.js
http://www.a.com/b.js
同一域名,不同端口 不允许
http://www.a.com/a.js
https://www.a.com/b.js
同一域名,不同协议 不允许
http://www.a.com/a.js
http://192.168.1.1/b.js
域名和域名对应ip 不允许
http://www.a.com/a.js
http://home.a.com/b.js
主域相同,子域不同 不允许
http://www.a.com/a.js
http://.a.com/b.js
同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问)
http://www.cnblogs.com/a.js
http://www.a.com/b.js
不同域名 不允许

如果是PHP等语言,这个问题貌似很好解决,只要一行代码就可以搞定,那么Java呢?如何在不修改代码的情况下,实现跨域资源共享?请往下看:

CORS(跨域资源共享)介绍:

CORS(Cross-Origin Resource Sharing) 跨域资源共享

全称:Cross-Origin Resource Sharing

中文意思:跨域资源共享

它\r\n在维基百科上的定义是:跨域资源共享(CORS \r\n)是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。而这种访问是被同源策略所禁止的。CORS系统定义了一\r\n种浏览器和服务器交互的方式来确定是否允许跨域请求。 它是一个妥协,有更大的灵活性,但比起简单地允许所有这些的要求来说更加安全。

Tomcat下的项目的配置:

首先需要下载cors-filter-1.7.jar,java-property-utils-1.9.jar这两个jar包;

然后配置工程项目中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>
除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.lifengdi.com/article/47

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
分享到

Tomcat7.0配置CORS(跨域资源共享)

也可使用浏览器菜单中的「分享」功能

微信扫一扫分享

标签: CORS tomcat
最后更新:2019年6月13日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
下一篇 >
1234567891112131415161718192021222324252627282930313233343536373839404142434446474849505152535455575859606162636465666769727476777879808182858687909293949596979899
取消回复
…

文章评论

还没有评论,快来抢沙发吧~

人生天地间,忽如远行客。

听点儿音乐吧 朋友~
文章目录
最新 热点 随机
最新 热点 随机
游本昌去世 Redis7+&8.X 全新进阶系列(02):Redis Functions 详解——替代Lua脚本的官方轻量化函数方案 Redis7.x&8.x 全新进阶系列(01):划时代升级总览——从6.x到7.x/8.x全版本变革全景 让WordPress静态化之Rocket‑Nginx WordPress下一代默认主题Ipsum预览 C++之父重磅发声:AI编程正在毁掉一代程序员
关于主题加载速度优化的一点儿小演进给主题增加了Now、每日心情、年度回顾、岁月同一天、随机漫步等功能WordPress缓存插件WP Fastest Cache、WP Rocket 、FlyingPress对比关于使用AI的一些思考WordPress下一代默认主题Ipsum预览Kratos+ v1.1.16版本更新说明
Dapr 知多少 | 分布式应用运行时 Java进阶实战:10个高效技巧+环境管理指南,让代码简洁又优雅 深度解析多级缓存架构:从设计到落地,彻底解决数据一致性难题 Elasticsearch的分布式文档存储原理 Java数组类型 Java之五种遍历Map集合的方式
最近评论
旺东 发布于 8 小时前(09月24日) 老艺术家,惋惜!从此再无济公!
李锋镝 发布于 11 小时前(09月24日) 缅怀~挺难受的
李锋镝 发布于 11 小时前(09月24日) 繁花是老爷子演的最后一部电视剧了,可惜了。 听力障碍戴助听器是不是可以缓解?
不凡 发布于 11 小时前(09月24日) 我记得小时候看到过电视剧济公,当时只看了部分片段,因为我有听障,听不清楚,所以没看全集,后来应该是前...
2broear 发布于 13 小时前(09月24日) 早上看到,游老爷子值得尊敬的老艺术家。缅怀。
标签聚合
K8s 多线程 WordPress MQ 日常 架构 分布式 Spring ElasticSearch JVM SpringBoot JAVA SQL Redis 数据库 IDEA MySQL AI编程 Claude AI
友情链接
  • 若梦博客
  • 九仞之行
  • 韩小韩博客
  • 志文工作室
  • 瓦匠个人小站
  • 哥斯拉
  • Mr.Sun的博客
  • 皮皮社
  • 韩情脉脉
  • sssr7844的博客
  • 老张博客
  • 懋和道人
  • 彬红茶日记
  • 知向前端
  • Honesty
  • 搬砖日记
  • Serendipity
  • 林羽凡
  • 临窗旋墨
  • 蜗牛工作室

COPYRIGHT © 2016-2026 lifengdi.com. ALL RIGHTS RESERVED.

lifengdi.com

Domain age badge for lifengdi.com

Theme Kratos-plus By Dylan Li

津ICP备2024022503号-3

京公网安备11011502039375号