java cookie p3p_P3P script src 解决cookie存取的跨域问题 java 终极解决办法
最近在做一个项目,我的网站是www.a.com,但是需要取到www.b.com网站的cookie,折腾了很久,在同事的合作下。总算搞定了。
我是用java做的, 首先在www.a.com/a.vm文件中加入这句话:
src中的链接可以是b中的一个页面或者一个Action,都可以,我是用一个Action的。在b.com的这个action中,我的代码如下:
public ActionForward getSidAndUserid(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String cartSid = this.getCartSid(request, response);
UserSession userSession = this.getUserSession(request, response);
CartServiceDelegate delegate = new CartServiceDelegate();
int basketSize = delegate.getBasketSize(userSession, cartSid);
StringBuffer buffer = new StringBuffer();
buffer.append("iBacketItemsNumber=" + basketSize + ";");
PrintWriter out;
response.setHeader("P3P","CP=/"NON DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa HISa TELa OTPa OUR UNRa IND UNI COM NAV INT DEM
CNT PRE LOC/"");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
try {
out = response.getWriter();
out.print(buffer.toString());
} catch (IOException e) {
log.error("",e);
}
return null;
}
这样就可以得到想要的结果。
在a.vm文件中,若查看源代码的话,会看到
然后a.vm中要取到这个数据可以写如下代码:
这样就可以得到想要的数据了。
附: 我在Action中加入以下代码的原因是: response.setHeader("P3P","CP=/"NON DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa HISa TELa OTPa OUR UNRa IND UNI COM NAV INT DEM CNT PRE LOC/""); 因为在IE7中(IE6和Firfox都没有问题,只有IE7以上版本存在此问题),由于浏览器的隐私等级在IE7中默认为“中”,它会阻止保存可用来联系您的信息而没有您的明确同意的第三方Cookie。因此无法实现跨域取cookie的功能,除非用户手动把浏览器的隐私等级在IE7中默认为“低”。而以上的那行代码就可以解决这个问题,其中用到的是P3P技术。 写此篇文章,希望能对大家有所帮助。。。
java cookie p3p_P3P script src 解决cookie存取的跨域问题 java 终极解决办法相关推荐
- 【vue axios 跨域】cookie、origin等一步步递进的跨域踩坑 已解决
前后端对接必出bug,最近连续对接了两个项目,对解决跨域有点感觉了,跟大家分享一下经验,都是血的教训- 两个项目都是Springboot+Vue(axios网络请求).本人主要负责前端,所以前端会分享 ...
- 解决Vue前后端跨域问题的多种方式
1 前言 本文主要介绍借助解决Vue前后端跨域问题的几种方式 说到ajax请求,就不得不说下xhr(XMLHttpRequest)了,它可以说是鼻祖,但是实际开发中,我们不会直接使用它,而是进行二次封 ...
- 前端跨域的理解和解决跨域的方案详解(全)
作为前端开发,我们遇到最多的应该就是跨域问题,对于萌新来说,跨域就是一道墙,不知所措,其实只要理解了跨域的含义和原理,解决它是不难的,今天给大家介绍下什么是跨域和跨域的解决方案! 什么是跨域? 跨域是 ...
- 用P3P header解决IE下iframe跨域访问时候session丢失的问题
用P3P header解决IE下iframe跨域访问时候session丢失的问题 整合客户的登录时,或者其他一个网站通过iframe时,特别是一个http页面,访问一个https页面时,常常会sess ...
- PHP解决http和https跨域,php中http与https跨域共享session的解决方法
这篇文章主要介绍了http与https跨域共享session的解决方法,需要的朋友可以参考下 遇到了HTTP.HTTPS协议下session共享解决cookie失效的问题,这里提供一个临时解决办法. ...
- 解决阿里云OSS跨域问题
解决阿里云OSS跨域问题 现象 本人项目中对阿里云图片请求进行了两次,第一次通过img标签进行,第二次通过异步加载获取.第一次请求到图片,浏览器会进行缓存,随后再进行异步请求,保存跨域失效. 错误信息 ...
- Ajax跨域请求以及乱码解决
Ajax跨域请求2种解决方法 1 ) 什么叫跨域请求,协议,域名,端口号,其中一样不同都称跨域; 第一种:使用script标签发送请求; //创建一个script标签; var v_element=d ...
- ajax 跨域请求_什么是跨域问题?如何解决?
1. 概述 几个疑问: 什么是跨域? 如何判断是否产生「跨域」? 跨域,带来的问题? 跨域问题,解决思路? 2. 跨域:是什么 跨域的问题根源:浏览器的「同源策略」. 2.1. 同源策略 同源策略(S ...
- PHP的介绍及应用,ajax的介绍及应用,跨域问题及jsonp解决方法
PHP(服务器编程语言) 服务器由环境(Apache),数据库(mysql),代码(HTML+css +js,php)组成. PHP必须在服务器的环境下执行 php与js最大的区别就是工作环境,PHP ...
最新文章
- js小效果-简易计算器
- python小白——进阶之路——day6天---字符串相关相关函数,格式化(format)
- 亲手完成四大企业实战项目,挑战Python全栈高薪岗位!
- IfSpeed 带宽计算
- 模拟服务器和客户端交互的python脚本
- 【Java】synchronized关键字笔记
- memcache两种客户端比较
- 手把手教你用ECharts画饼图和环形图
- nvidia-docker2 在 Kubernetes 上实践
- 手机modem开发(5)---LTE基本架构
- bzoj3627: [JLOI2014]路径规划
- python序列类型包括哪三种映射类型_python序列类型包括哪三种
- JDK8帮助文档生成-笔记
- 2.vue的不更新特性-重用机制和key属性-data及其他字段-vue生命周期
- 基于python的三维射线追踪库-ttcrpy详解(1)
- 用vant 自定义小程序tabBar
- 有向图和有权图的邻接矩阵表示法
- 程序员“真实”日常:每天敲代码不到 1 小时
- Fiddler模拟网络波动_xing2516_新浪博客
- HTML识别文本空格回车换行展示
热门文章
- client netty 主动发数据_Netty服务器无限循环给客户端发送数据
- esxi 安装网卡驱动
- ssm框架使用重定向报404_如何在 ASP.NET Core MVC 中处理 404 错误
- 西交大计算机考博学术英语,2018年西安交通大学考博英语真题
- vue项目中eslint检查警告——“Trailing spaces not allowed”
- js中return、return false 、return true各自代表什么含义
- 【五讲四美】之“讲思想”
- mac 终端 svn 命令
- bzoj4448 [Scoi2015]情报传递
- redhat7下对用户账户的管理