Struts2的action执行时间比较长,导致不能跳转页面,该如何处理?
问题是这样的:我用poi做一个excel导出,当数据量小的时候就能跳转页面,超过一定数据量是在action里面的处理时间久比较长,当action处理完毕后不能跳转页面,页...
问题是这样的:我用poi做一个excel导出,当数据量小的时候就能跳转页面,超过一定数据量是在action里面的处理时间久比较长,当action处理完毕后不能跳转页面,页面还是在等待状态。我主要是想知道为什么会出现这种问题,该如何解决。当然sql和代码优化先不管,以后再处理。
展开
3个回答
2013-11-13
展开全部
可以试试wireshark抓包分析一下就比较清楚了,前提是你要有点网络基础?-0-#再说现在我不管功能是否合理,只是想知道怎么解决这种问题。好吧,那你可以开异步线程,点击生成Excel时候,直接返回页面,后台继续生成。监控生成进度,显示前台。满100% 直接刷新页面。或者你只显示任务生成ing... 然后等待返回。Ajax或者什么自己考虑。 将生成的文件,放在本地服务器临时文件夹内,给出下载路径,显示页面上。实现点击下载。这样就避免了页面会挂掉,无反映的情况。思路就是,先把页面显示出来。再处理。了解了么
2013-11-13
展开全部
这么没什么好办法吧,你导出比较慢,是因为你的数据量太大了。你定下位,看看主要时间消耗在哪里,是在sql查询中,还是在poi填充数据的时候。你如果导出的数据过大,内存都会溢出的。或者你可以考虑分成几个excel文件,然后返回链接,通过链接再进行下载~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-13
展开全部
是在不行那就异步吧,等后台完全打完包,再展示这个链接。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询