我有以下问题,我用C:\Tomcat85\webapps\MyWebApp\Excel\myExcel.xls写了一个Excel文件。
一旦我的Java应用程序完成了文件的编写,它就会执行下载操作,让用户使用它。这会产生一个令人讨厌的404错误。
如果我等待几秒钟,然后重新加载页面,它就可以正常下载(或者在java中添加一个5秒钟的睡眠,它的工作原理是一样的)。
因此,我得出的结论是,Tomcat花了5秒时间来确认这个新的excel文件存在,然后才能服务它。
是否有办法让Tomcat更快地完成这项任务?也许在web.xml中使用某些配置来不同地对待"/Excel/“文件夹。
Windows 10 64位,Tomcat8.5,Java7(可以尝试java8,但我认为这不会有什么区别)。
一些代码:
new ExcelExport(remoteHandle, context).execute( outFileName, outMessage);
// Thread.sleep(5000);
httpContext.wjLoc = formatLink(outFileName);在文件资源管理器()中,线缆工作正常,因为我看到它已经准备好和可写了,但是如果我试图通过URL打开它,我就会得到相同的404。
发布于 2017-06-30 18:21:49
默认情况下,Resources被缓存。缓存条目重新验证之间的时间量(毫秒)由cacheTtl参数定义,在这份文件中引用。默认情况下,它的值是5秒。
如果要禁用缓存,只需将cachingAllowed设置为false即可。
https://stackoverflow.com/questions/44852505
复制相似问题