Struts2的action执行时间比较长,导致不能跳转页面,该如何处理?
问题是这样的:我用poi做一个excel导出,当数据量小的时候就能跳转页面,超过一定数据量是在action里面的处理时间久比较长,当action处理完毕后不能跳转页面,页面还是在等待状态。我主要是想知道为什么会出现这种问题,该如何解决。当然sql和代码优化先不管,以后再处理。
[解决办法]
这么没什么好办法吧,你导出比较慢,是因为你的数据量太大了。
你定下位,看看主要时间消耗在哪里,是在sql查询中,还是在poi填充数据的时候。
你如果导出的数据过大,内存都会溢出的。
或者你可以考虑分成几个excel文件,然后返回链接,通过链接再进行下载~
[解决办法]
是在不行那就异步吧,等后台完全打完包,再展示这个链接。
[解决办法]
嗯,,用户ajax. 成功返回前,弹个窗口,,,“正在处理中.....”
[解决办法]
ajax,类似大文件上传
[解决办法]
这个应该和浏览器有关系吧。
浏览器访问一个页面后,应该会有个超时时间,多少秒之后服务器没有响应,浏览器就认为超时了,即使后来有响应了,浏览器也不处理。
[解决办法]
可以试试wireshark抓包分析一下就比较清楚了,前提是你要有点网络基础!
[解决办法]