做的是一个解析Excel的程序,后台jsp页面解析Excel文件,解析完成后通过response.getWriter().write("xx")返回前台,给个提示解析完成,Excel数据量5000行没有问题,能正常在前台接收提示,并显示解析成功,但是Excel数据量超过5000行,后台解析完成后,前台没有反应。 需要处理的Excel的数据量是3万条数据左右,前台就不能正常显示解析完成,后台解析处理代码如下:
<%@ page language="java" import="java.util.*,java.io.*,java.text.*,org.apache.poi.hssf.usermodel.*,com.asiafront.lu.excel.*" pageEncoding="utf-8"%>
<%
//下面是解析Excel的方法
ArrayList<String[]> arrayXls = ExcelTest.testRead(path);
String text = "{success:true,info:'"+"解析成功!"+"'}"; //拼写json
response.getWriter().write(text); //回传到前台
%>
这是什么原因啊,求大神解决, 难道是数据量太大,超时了, response.getWriter().write(text); 就不能传到前台数据????
谢谢
------解决方案--------------------
设置返回格式response.setContentType("application/xml;charset=UTF-8");
------解决方案--------------------
写错,应该是:application/json
------解决方案--------------------
response.getWriter().write(text);
response.getWriter().close();
------解决方案--------------------
如果网页响应时间超过60秒,页面就拿不到结果了。
修改代码,单独写个进程解析excel,把没解析完的文件名放在一个静态变量中,前端请求时从静态变量中查询状态并返回。