文件上载期间的Ajax请求需要很长时间才能完成

时间:2010-01-29 19:11:55

标签: ajax websphere request

我正在使用Webphere服务器。我正在使用Apache FileUpload方法通过servlet执行文件上载。

我将一个监听器附加到此FileUpload,该监听器更新“百分比”字段,表示已处理请求的百分比。请求被定向到iframe(表单的目标是iframe),因此触发请求的页面不必等待响应完成,因此它不会向用户显示空白页面。我也在会话中添加了对进度监听器的引用。

一旦我在表单上触发提交,从JSP页面开始,在1秒后,然后每秒我发出一个ajax请求,该请求进入查找ProgressListener的servlet,并以百分比字段响应。该过程运行正常,但在Websphere上,有时这个Ajax请求可能需要30秒才能完成!我在一个简单的Tomcat服务器上测试了同样的东西,并且请求/响应在一秒内就出现了。

可能有什么不对?它是服务器设置吗?

谢谢,

编辑:一旦发出请求,servlet中获取会话百分比的代码就会运行。瓶颈似乎是将请求发送回客户端浏览器。

1 个答案:

答案 0 :(得分:1)

您是否已将websphere配置为编译和缓存jsp页面,还是每次重新编译?

您可能希望使用AOP(AspectJ或Spring)或分析器来查看ajax调用的内容,以便您可以在不更改jsp页面中的任何代码的情况下进行监视。

分析器可能是一个更好的起点,因此您可以全局查看正在发生的事情,然后使用方面以细粒度的方式进行监控并确定瓶颈在哪里。

您还可以看到预编译jsp页面是否有帮助。本教程应该很有用: http://publib.boulder.ibm.com/infocenter/wchelp/v6r0m0/index.jsp?topic=/com.ibm.commerce.samples.doc/tutorial/tdedeployjsp.htm