Java 将大量双值从Servlet发送到JSP

Java 将大量双值从Servlet发送到JSP,java,jsp,servlets,service,web,Java,Jsp,Servlets,Service,Web,我想将一个包含大量值的双数组从servlet发送到jsp页面,问题是这个数组没有一定的大小,大小是作为用户输入的,因此有时它可能包含500.000、720.000等,用户可以输入的最大数组大小值是1000000 我正在使用以下功能,并且它工作正常: (servelt) 请求调度程序disp request.setAttribute("vValues", V_Array); disp = getServletContext().getRequestDispatcher("/i

我想将一个包含大量值的双数组从servlet发送到jsp页面,问题是这个数组没有一定的大小,大小是作为用户输入的,因此有时它可能包含500.000、720.000等,用户可以输入的最大数组大小值是1000000

我正在使用以下功能,并且它工作正常:

(servelt) 请求调度程序disp

     request.setAttribute("vValues", V_Array);

     disp = getServletContext().getRequestDispatcher("/index.jsp");

     disp.forward(request, response);
(jsp)

你能帮我吗,我需要解决这个问题才能继续


提前感谢

您不应该将那么多数据从servlet推送到jsp。一个页面不应该充满100.000或任何数量巨大的值。从观众的角度来看,这是不可用的:

  • 用户永远不想读取那么多的数据
  • 用户永远不会手工输入这么多数字
如果您需要接收或发送一个大小相同的数组给用户,则需要采用另一种方法:将该数据存储在一个文件中(想到csv),然后发送。同样,对于输入,用户将希望将数据作为文件发送,因此制作临时表单以上载文件


如果您需要预处理该数组以仅显示几个值,请在servlet中进行预处理,而不是在jsp中进行预处理。

对不起,也许我的解释不太好,我是说


用户将要求程序生成随机值,因此用户只需输入(需要从我的程序中随机生成多少值)。。结果将是图形化表示–

我无法想象一个用户会键入100多个项目。更好的解决方案似乎是发送一个文件。用户不会键入,用户将要求程序生成随机值,因此用户输入(希望从我的程序随机生成多少值)。。结果将是图形化的表示对不起,可能我的解释不太好,用户不会键入,用户会要求程序生成随机值,因此用户输入(我的程序要随机生成多少值)。。结果将以图形表示您的图形是否需要100.000个值?这似乎有点过分。这不是答案。这应该是对您的问题的编辑。不过,服务器应该提供一个包含随机生成值的文件下载,而不是在客户端显示所有这些值。请注意,您甚至不能在JavaScript上执行此操作。
         <% double[] V_Values =(double[]) request.getAttribute("vValues"); %>
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.xml.ws.WebServiceException: Could not send Message.
    org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:144)
    sun.proxy.$Proxy64.getSVData(Unknown Source)
    SMC.client.SMCService.doGet(SMCService.java:68)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:8080/SMC/services/SMPort: Read timed out