- 浏览: 959187 次
- 性别:
- 来自: 江西上饶
文章分类
- 全部博客 (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 1532需要nodejs wxappUnpacker 小程序文件所在 ... -
servlet3.0 异步servlet
2019-07-26 16:29 419假设一种情况,你的一个servlet会处理比较长的时间,而且这 ... -
Transfer-Encoding
2019-07-26 15:16 491请求: POST /web_proxy.html HTTP ... -
http压缩,Content-Encoding
2019-07-22 03:03 790HTTP 协议中的Content-Encodi ... -
http代理协议
2019-07-18 00:18 619http代理 PROXY常见的分为 ... -
es6箭头函数与this指向
2019-04-16 23:37 1289this 的指向 类的方法内部如果含有this,它默认指向类 ... -
Spring 定时任务,cron表达式,@Scheduled cron表达式
2016-04-25 15:48 5296一个cron表达式有至少6 ... -
spring mvc list
2015-12-14 10:28 1286我使用这样无法传入 @requestMapping(" ... -
plupload
2015-11-18 16:34 571http://chaping.github.io/pluplo ... -
js replaceall
2015-10-28 14:53 602eplace(str1,str2)方法替换的只是第一个匹配的字 ... -
Firefox不支持click方法的解决
2015-10-06 10:37 1299<a href="javascript:ale ... -
Unable to locate Spring NamespaceHandler for XML schema namespace
2015-09-23 14:00 2323org.springframework.beans.facto ... -
tomcat https
2015-09-02 13:50 695一、 什么是HTTPS 在说HTTPS之前先说说什么是HTT ... -
关于使用s.url jstl的上下文
2015-08-16 13:28 919比如 [@s.url '/'/]index.html?cote ... -
视频编码转化
2015-08-14 10:51 1394JAVA目前的转化库没发现过,网上提供的方案是通过java作为 ... -
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
2015-08-14 09:52 2008Neither the JAVA_HOME nor the J ... -
web.xml url-pattern
2015-08-03 01:54 577全站匹配 /* 而不是*,因为jee标准要求url-pat ... -
Spring 属性占位符配置器 PropertyPlaceholderConfigurer
2015-08-02 12:43 2084<!-- 属性配置文件读 ... -
数据存储于分析
2015-06-23 13:33 621磁盘的读写,一直未能跟着时代发展。1990时代,普通硬盘有13 ... -
servlet3.0
2014-11-13 23:04 446异步处理支持 首先,Servlet 接收到请求之后,可能首先需 ...
相关推荐
### iframe嵌入链接本地环境正常,正式环境重定向到登录问题解决方案 #### 问题背景 在开发过程中,经常需要将一个网页嵌入到另一个网页中,通常的做法是使用HTML中的`<iframe>`标签来实现这一功能。但在实际操作中...
利用`iframe`标签,请求其他站点的`set_cookie.php`,将接收到的Session ID设置为当前的Session ID。 2. **数据库存储Session信息**:由于不同服务器无法直接共享Session文件,我们可以将Session信息存储在数据库中...
下面是 Beef 插件翻译文档中的知识点总结: 1. Module Tree(模块树): Module Tree 是 Beef 插件的核心组件之一,它提供了一个树形结构来组织和管理不同的模块。每个模块都可以在树形结构中进行组织和查找,从而...
自定义表单系统使用说明: ...一般情况下,调用基本设置和表单管理两个页面就可以了,在其它后台添加页面,用iframe读取这两个页面,能实现样式整合。 如有疑问,加QQ51551252,或者登陆www.11223300.com咨询。
下面我们将详细探讨这个主题。 1. URL参数传递: 这是最常见也是最简单的页面传值方式。通过在URL后面添加问号(?)并附上键值对,如`www.example.com/page?id=123`,其中`id=123`就是传递的值。这种方式适合传递...
下面给大家分享下基于ajax实现文件上传并显示进度条。在jsp部分,需要设计一个表单,form的属性添加 enctype=”multipart/form-data”,设计一个iframe,作为隐藏。form的target等于iframe的name; 在servlet部分:...
下面将详细阐述其中的关键点。 1. **HTTP协议**:HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从Web服务器传输超文本到本地浏览器。HTTPS(安全超文本传输协议)是在HTTP的基础上加入了SSL/TLS...
- 右键菜单在最下面时,右键位置重叠导致点击菜单问题 - 编辑器打开文件时光标问题,处理:移动到行尾;编辑器enter建不显示自动提示 - iframe 打开url 优化。解决canvas问题 - 文件编辑器,载入loading去掉 - ...
下面的JSP代码展示了如何清除名为"mycookie"的Cookie: ```jsp Cookie killMyCookie = new Cookie("mycookie", null); killMyCookie.setMaxAge(0); // 设置Cookie有效期为0,即立即过期 killMyCookie.setPath("/")...
IFrame是内联框架,用于在网页中嵌入另一个HTML文档,可能带来加载性能问题和安全风险。 17. **DOCTYPE作用** DOCTYPE声明告知浏览器以哪种HTML或XHTML标准解析文档,严格模式下浏览器严格按照标准解析,混杂...
在这个版本中,我们可以看到多个关键页面,这些页面构成了论坛的核心功能,下面将详细阐述每个页面的主要作用及其在ASP.NET开发中的知识点。 1. **Left.aspx**:这个页面可能是论坛的左侧导航栏,通常包含论坛的...
登录成功后,用户的昵称会被保存到会话变量`$_SESSION['username']`中,并通过`save_online()`函数将用户信息写入在线列表文件。 2. **聊天界面**:用户登录后,页面会跳转到聊天界面。这里使用了`iframe`嵌套另一...
- **跨域认证**:在多域名环境下,SSO需要处理跨域认证问题,这通常通过设置合适的HTTP头或使用iframe来实现。 ### 实际应用中的挑战与解决方案 - **安全性**:确保SSO系统不会成为攻击者的目标。实施严格的访问...
DWR (Direct Web Remoting) 是一个开源的Java库,它允许Web应用程序在客户端和服务器之间进行实时的、异步的通信,无需使用XMLHttpRequest或IFrame。DWR简化了AJAX(Asynchronous JavaScript and XML)开发,使得...
<iframe src="refresh.asp" name="refresh" width="0" height="0" allowtransparency="true" scrolling="no" frameborder="0"> ``` #### 四、注意事项 1. **兼容性问题**:考虑到不同浏览器可能对某些功能的支持...
下面将详细阐述实现这个功能所需的关键技术和步骤。 首先,我们要处理的是**PDF文档**。PDF是一种广泛使用的文档格式,具有良好的跨平台性和视觉一致性。在PHP中,可以使用`fpdf`库来生成PDF,但这里我们需要的是...
下面将详细探讨该系统的几个关键知识点。 1. ASP 技术:ASP是微软公司推出的一种服务器端脚本环境,它允许开发者创建动态交互式的网页。在ASP中,开发者可以使用VBScript或JScript等语言编写脚本,服务器端处理这些...
“scope参数允许你配置creator的生命周期,共有以下几个选项:application,session,request,page.这些参数对于用过jsp或servlet的开发人员并不陌生. 3.1 Uing static methods 如果你想远程调用一个creator的静态方法,...
下面将详细介绍这些知识点。 首先,单点登录(Single Sign-On,简称SSO)是一种让用户仅使用一组登录凭证(用户名和密码),就可以访问多个应用系统的方法。SSO的目标是简化用户的登录过程,提高用户体验,减少重复...
1. **理解UpdatePanel工作原理**:UpdatePanel在客户端使用JavaScript控制一个隐藏的IFrame,当触发更新时,它会发送异步请求到服务器,服务器处理请求并返回HTML片段,然后UpdatePanel将这个片段替换到页面的相应...