在用户在页面中有一系列的操作如,1.点击上传文件按钮上传文件->>2.jsp页面中显示文件的信息->>3.点击确定把相关数据写入数据库.考虑到多用户的环境中,可能有多个用户对同一文件进行上传所以加入一个控制(在一个单例的对象中维护一个list,里面存放正在进行上传的文件名,如果存在则不容许上传,相关方法如增加,删除也加入了synchronized)。现在编写的代码已经大致写出来,但存在一种情况不知道如何处理,当进行到第二步(显示文件信息)时,该页面中有一确定按钮,用户点击该按钮就执行第三步的操作,问题就出在这里了,如果用户不点击该按钮直接退出浏览器或跳转到别的页面中那么在单例的对象中就无法清除对应的文件名,也就无法保证用户的一系列操作的原子性了,但该用户(或别的用户)接着回来重新上传时在第一步就会被拦截,请问有什么好的方法解决呢。ps:我用的是struts1.x
解决方案 »
- 求一个Strut2+Spring+Hibernate实现的登录增删改查
- hibernate插入报错。。。求解答!
- MANYTOMANY 中间表 的关系 删除
- struts2的问题:如何把generator里的字符串做为另一个组件的name?
- JSP页面问题 在ECLIPSE可以运行 但在TOMCAT里却报错 大虾进来指导下
- 跪求能自动生成java对sql数据库操作的代码的软件最好能有说明
- Myfaces问题
- 如何访问远程数据库?
- (即时给分)Weblogic6.0中不能运行Servlet,如何配置web.xml?
- AES加密与解密报错:javax.crypto.BadPaddingException: Given final block not properly pad
- 请问一下jsp页面的<%%>里面能写js代码吗
- java导出pdf报表
2. 上传完毕后 对 文件 fileA 进行除重。 比如 md5 与已经有的文件比较。
3. 若跟已有文件fileB重复,删除当前文件fileA
4. 文件链接 指向 fileB——————————————————————————————
参考qq网络文件夹
这个不错的建议,但我想了下最后还是用监听器还有页面的javascript做控制实现了,谢过了!!