- 浏览: 939479 次
- 性别:
- 来自: 江西上饶
文章分类
- 全部博客 (460)
- p.spring (56)
- p.maven (20)
- p.ant (17)
- p.jee (18)
- p.jse (33)
- p.ofbiz (31)
- p.软件工程 (8)
- p.struts2 (5)
- p.hibernate (5)
- linux (25)
- 设计模式 (2)
- p.javascript (11)
- 硬件 (1)
- p.jsp (2)
- p.windows批处理 (1)
- 操作系统问题 (5)
- 算法 (1)
- p.mysql (7)
- p.sql (5)
- p.c (1)
- google产品 (0)
- 内存 (1)
- p.struts (1)
- p.freemarker (7)
- p.css (4)
- p.log4j (10)
- p.html (3)
- 淘宝产品 (0)
- 其他 (3)
- 编译器 (0)
- svn (4)
- p.spring.security (11)
- 图形 (0)
- p.xml (1)
- p.ssh (0)
- p.jquery (4)
- p.jdbc (3)
- p.flex (0)
- p.c++ (0)
- p.c#Net (0)
- p.assembly (0)
- p.sqlserver (0)
- p.其他 (3)
- p.webwork (21)
- p.wap (12)
- p.cglib (1)
- p.jee服务器 (11)
- windows (2)
- p.iphone (1)
- p.java.分布式与集群 (2)
- p.ibatis (16)
- p.eclipse (5)
- 架构 (2)
- http协议 (5)
- 我的个人标准 (2)
- 多线程 (1)
- 奇怪问题 (5)
- p.jira (13)
- p.httpclient (1)
- 服务器.apache (11)
- 安全防范 (1)
- p.PODAM (1)
- p.junit (16)
- fop (2)
- 硬盘安装 (1)
- powerdesigner (0)
- 单元测试 (1)
- apache commons (4)
- tomcat+apache集群 (10)
- 各类诡辩 (1)
- 安卓 (8)
- qvod (1)
- java编程基础知识考试考点及答案 (0)
- 工作总结 (4)
- oracle (0)
- spring的util工具 (3)
- json (2)
- maven (3)
- jms (19)
- p.bat (3)
- hadoop (2)
- git (3)
- nginx (1)
- p.移动开发 (1)
- shiro (3)
- 游戏破解 (1)
- react-native (7)
- ios开发 (1)
- webmagic (6)
- socks5 (1)
最新评论
-
weituotian:
说的不好,没人看的
公司系统中的菜单功能和权限功能 -
石不易:
非常详细的注解~
绑定端口和IP,Listen 与VirtualHost指令 -
spring_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
spring mvc -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装 -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装
在写iframe完成长连接获取上传状态的时候,有两次请求,一次上传,一次获取状态的。
发现第一次上传上传的请求和获取状态的请求是不同的session,再次上传时就没问题了。
找了资料,都说是放jsessionid,或者加P3P头信息。这些都不是我现在的真正问题。
在google的bug工具中,看到原因了。
我的iframe写得是
<iframe name="upload${inputName}" src="" id="upload${inputName}" style="display:none">
</iframe>
这个时候,src虽然什么都没写,但是它还是请求了一次
GET about:blank HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2
Referer: http://127.0.0.1:8080/cgodo-fileupload/fileUploadComponent?key=1322999139092file&inputName=file
,再上传的时候,iframe
请求的cookie中并没有发送jsessionid过去
POST /cgodo-fileupload/doUpload.html?key=1322999245171file HTTP/1.1
Cookie: OFBiz.Visitor=10360
这是因为iframe初始化的时候,src是空,它的cookie中没有信息,发送请求过去的时候cookie自然就没有jessionid信息了。服务器就创建了新的session。
而第一次上传完毕后,从服务器中获取到了一个session,所以第二次上传,读取状态的和上传文件的两次请求就是同一个session了。
解决方案
在iframe中,请求一次我们应用中数据最少的一个链接,这样就能生成session了。
我这里使用的是springmvc,写了一个什么都不输出的action。这个action一定要确保把session创建好。
/**
*
* 描述:为iframe生成sessionid
*
* @param locale
* @return
* @author liyixing 2011-12-4 下午07:39:43
*/
@ResponseBody
@RequestMapping("/fileUploadSessionId")
public String fileUploadSessionId(HttpServletRequest request) {
request.getSession(true);
return null;
}
然后让iframe初始化的时候访问这个链接。
发现第一次上传上传的请求和获取状态的请求是不同的session,再次上传时就没问题了。
找了资料,都说是放jsessionid,或者加P3P头信息。这些都不是我现在的真正问题。
在google的bug工具中,看到原因了。
我的iframe写得是
<iframe name="upload${inputName}" src="" id="upload${inputName}" style="display:none">
</iframe>
这个时候,src虽然什么都没写,但是它还是请求了一次
GET about:blank HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2
Referer: http://127.0.0.1:8080/cgodo-fileupload/fileUploadComponent?key=1322999139092file&inputName=file
,再上传的时候,iframe
请求的cookie中并没有发送jsessionid过去
POST /cgodo-fileupload/doUpload.html?key=1322999245171file HTTP/1.1
Cookie: OFBiz.Visitor=10360
这是因为iframe初始化的时候,src是空,它的cookie中没有信息,发送请求过去的时候cookie自然就没有jessionid信息了。服务器就创建了新的session。
而第一次上传完毕后,从服务器中获取到了一个session,所以第二次上传,读取状态的和上传文件的两次请求就是同一个session了。
解决方案
在iframe中,请求一次我们应用中数据最少的一个链接,这样就能生成session了。
我这里使用的是springmvc,写了一个什么都不输出的action。这个action一定要确保把session创建好。
/**
*
* 描述:为iframe生成sessionid
*
* @param locale
* @return
* @author liyixing 2011-12-4 下午07:39:43
*/
@ResponseBody
@RequestMapping("/fileUploadSessionId")
public String fileUploadSessionId(HttpServletRequest request) {
request.getSession(true);
return null;
}
然后让iframe初始化的时候访问这个链接。
发表评论
-
wxappUnpacker 微信小程序源码获取
2019-08-19 14:05 1488需要nodejs wxappUnpacker 小程序文件所在 ... -
servlet3.0 异步servlet
2019-07-26 16:29 379假设一种情况,你的一个servlet会处理比较长的时间,而且这 ... -
Transfer-Encoding
2019-07-26 15:16 429请求: POST /web_proxy.html HTTP ... -
http压缩,Content-Encoding
2019-07-22 03:03 684HTTP 协议中的Content-Encodi ... -
http代理协议
2019-07-18 00:18 588http代理 PROXY常见的分为 ... -
es6箭头函数与this指向
2019-04-16 23:37 1234this 的指向 类的方法内部如果含有this,它默认指向类 ... -
Spring 定时任务,cron表达式,@Scheduled cron表达式
2016-04-25 15:48 5266一个cron表达式有至少6 ... -
spring mvc list
2015-12-14 10:28 1246我使用这样无法传入 @requestMapping(" ... -
plupload
2015-11-18 16:34 536http://chaping.github.io/pluplo ... -
js replaceall
2015-10-28 14:53 537eplace(str1,str2)方法替换的只是第一个匹配的字 ... -
Firefox不支持click方法的解决
2015-10-06 10:37 1210<a href="javascript:ale ... -
Unable to locate Spring NamespaceHandler for XML schema namespace
2015-09-23 14:00 2289org.springframework.beans.facto ... -
tomcat https
2015-09-02 13:50 650一、 什么是HTTPS 在说HTTPS之前先说说什么是HTT ... -
关于使用s.url jstl的上下文
2015-08-16 13:28 884比如 [@s.url '/'/]index.html?cote ... -
视频编码转化
2015-08-14 10:51 1351JAVA目前的转化库没发现过,网上提供的方案是通过java作为 ... -
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
2015-08-14 09:52 1969Neither the JAVA_HOME nor the J ... -
web.xml url-pattern
2015-08-03 01:54 542全站匹配 /* 而不是*,因为jee标准要求url-pat ... -
Spring 属性占位符配置器 PropertyPlaceholderConfigurer
2015-08-02 12:43 2047<!-- 属性配置文件读 ... -
数据存储于分析
2015-06-23 13:33 587磁盘的读写,一直未能跟着时代发展。1990时代,普通硬盘有13 ... -
servlet3.0
2014-11-13 23:04 407异步处理支持 首先,Servlet 接收到请求之后,可能首先需 ...
相关推荐
iframe 跨域访问session问题解决方法
IFrame中Session丢失的解决办法
主要介绍了iframe跨域与session失效问题的解决办法,有需要的朋友可以参考一下
【ASP.NET编程知识】iframe跨域与session失效问题的解决办法.docx
今天搞的一个登录页面,被别的网站用iframe嵌进去后,死活无法登录(只在IE中存在这种情况)。 很明显,session无法被保存。但是直接在地址栏打开那个登录页面,一切都正常啊。真是奇怪啊。 在网上搜索了一下。发现...
NULL 博文链接:https://thoreau.iteye.com/blog/745100
这是关于iframe使用过程中出现的问题整理的解决方法,关于使用iframe不用单独写接口打通数据,直接把数据通过ifarme嵌套方法传递过去,使用简单方便。
本篇文章小编将为大家介绍,关于Iframe如何跨域访问Cookie和Session的解决方法,有需要的朋友可以参考一下
tomcat修改sessionId,同一台服务器部署多个tomcat需要修改sessionId,否则会出现session冲突的问题
框架完美解决了iframe之间的跨域通讯。底层技术采用window.name转换代理实现
解决iframe去边框问题,一级边框设置的一些知识!
主要处理javascript对iframe框架的处理
解决下拉菜单被iframe遮住问题吗,
该文档介绍了vue和普通web页面中iframe实现跨域的解决方案,解决了主页面中无法调用iframe方法的问题
iframe跨域问题:Uncaught DOMException Blocked a frame with origin解决方法
这是一个解决fixed在iframe中失效的解决案例,只要把文件放到编辑器中打开即可看到效果
它最常见的问题与使用iframes提供一系列的功能,其中包括: 高度和宽度大小的iframe内容大小。 作品以多个嵌套的iframe。 跨域iframe域认证。 提供了一系列的页面大小的计算方法来支持复杂的CSS布局。 检测修改DOM...
Iframe自动根据类容改变自己的大小,解决Iframe设置高度后无法缩小!拜一个高人所赐,特表示感谢!