日期:2014-05-20  浏览次数:20726 次

dom4j生成xml的问题
有一个接口,比如是:http://localhost:8080/gbss/gateway.do?service=contract
这个接口主要用dom4生成xml文件提供给其他人使用,其部分代码如下:
PrintWriter out = response.getWriter();
out.println(genXml(list));
out.flush();

我通过在浏览器中输入http://localhost:8080/gbss/gateway.do?service=contract
回车后发现,xml文件输出到页面要90秒甚至更长,实际上后台的java程序代码在500毫秒里就已经走过
out.flush();
请问为什么?有什么办法可以解决呢?

------解决方案--------------------
看起来像是 Struts,而且问题似乎并不出在你给出的代码里面。所以楼主需要给出更多信息。

有可能是浏览器在打开 XML 过程中执行了语法检查导致变慢。要确定是不是这个原因,需要将 response 输出的 MIME 类型改为 html/text,看看浏览器打开的是不是快些(这时候浏览器不会进行语法检查)。
------解决方案--------------------
既然做接口何必要生成页面呢。直接用webservice不是更方便。