[英]JApplet.getParameter returns null when passing large amount data to it
我有一个网络应用程序。
在某些时候,我通过smartCard和PKCS11进行了一些数据签名。 由于Java可以访问连接到计算机的设备,因此我使用由Web应用程序启动的applet。
直到现在,我要签名的数据(以及其他一些东西)都通过作为applet参数提供的base64编码字符串发送到applet。 然后,在小程序中,在用户将其密码提供给智能卡之后,传递给小程序的数据将被签名并发送回主Web应用程序。
我通过以下方式读取了传递给应用程序的数据:
String dataToDecode = this.getParameter("paramStr");
...
在扩展JApplet的类中。
一切都还好,直到我签署了单个文件。
现在提出了新要求,我需要立即签署约100个文档。 调整了Java代码以处理许多文档,但是当我尝试对数据进行签名时, 小程序崩溃,没有任何错误,任何符号,任何异常,只是什么也没有,控制台窗口也消失了。 请参阅编辑1
我怀疑当我尝试通过读取超过10 MB的数据时会发生崩溃
JApplet.getParameter("paramStr");
我的问题是:
谢谢你的帮助
编辑1:
在我的评论中,我说我确定JVM会崩溃。 现在我发现事实并非如此 。
由于与PKCS11初始化/小程序和JVM相关的某些原因,我将System.Exit(0)放在try / catch / finally的finally块中。 我通常避免这样做。
我修改了代码...并且没有崩溃,只是方法
JApplet.getParameter("paramStr")
当大量数据传递到其中时返回null,然后出现异常。 很抱歉在第一个问题中“欺骗”您。 我没有意识到。
因此,现在的主要问题是:JApplet.getParameter(“ paramStr”)可以处理的数据量是否有限制?
谢谢
也可能是由于浏览器错误。 我建议尝试调试它是没有意义的-通过从applet通过HTTP向服务器请求数据来回避问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.