最近 项目用了 struts2 的上传 然后 百度之后 把 上传 写好了 , 做测试的时候发现 第一次上传 一切正常 但是第二次上传的时候 如果 前台不上传这个file 后台file 一样有一个值 看了 下 是 之前上传的temp 文件 然后这里就会产生一个问题 , 百度了一些 感觉没有人说到重点 。
这个原因是因为 struts2 的action 上传的时候 file 为全局变量 由于 你spring 管理的action 默认的 scope 为 单例 所以 会有 多线程数据共享的问题 , 在 spring的 action 中添加
scope="prototype" 这样每次一个请求都会产生新的action 具体详情 可以 百度