日期:2014-05-17  浏览次数:20747 次

大牛求助:tomcat文件访问错误(404)
在tomcat容器中部署了一个工程。
现在比如访问/project/test/001.swf
工程中 通过filter拦截了这个请求,在test这个文件中将第一页的内容单独生成一个001.swf文件
(文件放在project/test/001.swf)生成完了后文件是的确存在的,但是总是报404。如果在生成文件后休眠5s总是能成功。

因为生成文件是调用第三方进程生成的,所以目前怀疑是不是第三方进程或线程文件没有及时释放或资源未写完,但是file.exists()为true。

比较郁闷!

求助各位大牛知道怎么问题是什么原因吗?非常感谢。
------解决方案--------------------
调用外部的如果不是阻塞式的且无返回值的建议调用完后sleep一会再去执行
------解决方案--------------------
打开网页先加载资源试试。在body内onload=xxxx
------解决方案--------------------
你能够使用file.exists()。那么file对象是在你们这边创建的吗?
还是说调用第三方的方法,他们给你返回的一个file对象!
如果file是在你们这边创建的,那你就可以测试一下是不是文件没有写完。

你在你这边写个线程,让它一直写文件,然后你去访问这个文件,看看是不是404!


更简单的就是在跳转之前输出文件的大小!
拿输出的文件大小跟实际的文件大小比较一下!
相信应该很明显!
------解决方案--------------------
那你写个正在加载中的的iframe,五秒后加载