连接超时页面

时间:2014-06-04 17:23:05

标签: java

我有一个生成报告的Java Web应用程序,我可以将该报告导出到excel文件,问题是每当我将其生成为excel文件时,"连接超时"页面正在firefox网络浏览器上显示。

基本上我不知道为什么会发生这种情况,我发现代码中没有任何问题可能是服务器问题还是我生成的数据量?此外,没有显示错误日志。

任何建议,建议都会有很大帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

听起来这个请求花了太长时间,并且超时了。基本上生成报告需要很长时间。对于客户端,应用服务器或网络服务器来说,这可能太长了(如果你有一个单独的网络服务器)。您有几个选择:

  • 找出Application Server中超时设置的位置并增加它们
  • 加快您的报告编写代码,使其不会花费很长时间
  • 使报表编写器成为异步作业(例如,通过在新线程中生成报表),让客户端在服务器上完成,直到完成,然后请求文件。

根据OP评论更新: 关于最后的建议: 如果报告由另一个线程生成,则当前请求将在生成报告之前返回,因此浏览器将不必等待。但是,这是相当多的工作,因为您必须有一种方法让客户端代码找出报告何时完成。此外,您不应该从Servlet启动自己的线程。

也许你可以通过AJAX或iFrame提出原始请求?这样,限制性超时阈值可能不起作用。