Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SWFUpload和Java:会话丢失_Java_Spring_Session_Swfupload - Fatal编程技术网

SWFUpload和Java:会话丢失

SWFUpload和Java:会话丢失,java,spring,session,swfupload,Java,Spring,Session,Swfupload,我正在使用SWFUpload将文件上传到Javaservlet(spring框架)。问题是当前web会话在文件上载过程中丢失(它会创建一个新会话)。我读到这是一个已知的bug,在某个地方有一些解决方法,但我什么也找不到。有人知道怎么做吗 谢谢。在.NET平台上也有这个。问题是Flash对象运行在与Java应用程序不同的会话上下文中(它被有效地当作新的客户端处理)。解决所有这些问题的一种方法是有效地让对象在querystring中发布提交上传所需的任何必要信息。看看SWFUpload论坛。添加;j

我正在使用SWFUpload将文件上传到Javaservlet(spring框架)。问题是当前web会话在文件上载过程中丢失(它会创建一个新会话)。我读到这是一个已知的bug,在某个地方有一些解决方法,但我什么也找不到。有人知道怎么做吗


谢谢。

在.NET平台上也有这个。问题是Flash对象运行在与Java应用程序不同的会话上下文中(它被有效地当作新的客户端处理)。解决所有这些问题的一种方法是有效地让对象在querystring中发布提交上传所需的任何必要信息。

看看SWFUpload论坛。添加
;jsessionid=XXX
上传URL可能适合您,也可能不适合您;问题的确切原因似乎不清楚。请注意,Flash使用Wininet堆栈(与IE相同),因此如果您使用不同的浏览器,则需要以某种方式将会话cookie(浏览器已知)放入IE cookie中。

您描述的已知bug听起来像。如果你有时间,请注册说“我也有这个问题”,这样我们就可以让Adobe清楚地知道它影响了很多人

很难给出一个最好的方法来为您的特殊情况做这件事的例子,因为我对春天不太了解

也就是说,解决这个问题的通常方法是在上传url中附加一个带有会话的GET变量,然后将其手动设置为服务器端的会话

关于这个问题的另一个SO线程有一个很好的答案(不幸的是,它不是java+spring特有的,但可能会给您一个更好的想法)


希望这足够详细,让您有一个好的开始。

如果您的web服务器支持它,这肯定是一个潜在的解决方案(大多数Java容器都允许在查询字符串中使用会话id)。到底什么不起作用?请注意,我的建议使用分号而不是?要添加会话数据-是否使用了此选项?你的URL看起来像什么?实际上它在IE中工作(即使没有jsession),但在FF中不工作。您说过:以某种方式将会话cookie(您的浏览器已知)放入IE cookie。我该怎么做?通过添加
;jsessionid=XXX
到URL:-)我试过了,但没用。我还尝试通过SWFUpload.post_参数传递所有cookie,但仍然不起作用。