我创建了一个操作 JSP 网页表单字段的 Java Applet。当然,JSP 调用 Java Applet。
这是我在 JSP 上运行 Java Applet 时在 Java 控制台中遇到的错误:
Ignored exception: java.security.PrivilegedActionException:
java.lang.reflect.InvocationTargetException
我没有调用 InvocationTargetException 或在代码中传递任何异常。不知何故,通过艰苦的反复试验,我设法追踪到导致错误的行是:
BlowfishCBC bfcbc = new BlowfishCBC(testkey, 0, testkey.length, CBCIV_START);
作为测试,我禁用了所有依赖于 JSP 的代码,因此我可以在 Eclipse 中运行它。我创建了一个 main 方法来执行 Java Applet,然后在 Eclipse 中运行它。我根本没有收到任何错误或警告。
我将相同的 Java Applet 作为 JAR 导出,将其复制到服务器,重新启动 Apache Tomcat,转到我的 Web 浏览器上的页面,运行 applet,然后发生相同的 InvocationTargetException 错误
可能是什么问题呢?
注意:我没有在代码中的任何地方使用 try..catch。我可以在代码中添加什么来捕获此异常信息,我该怎么做?
谢谢你。
更新:
这是来自 Java 控制台的堆栈跟踪:
java.net.MalformedURLException: no protocol:
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at sun.plugin.liveconnect.SecureInvocation.checkLiveConnectCaller(Unknown Source)
at sun.plugin.liveconnect.SecureInvocation.access$000(Unknown Source)
at sun.plugin.liveconnect.SecureInvocation$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source)
java.net.MalformedURLException: no protocol:
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at sun.plugin.liveconnect.SecureInvocation.checkLiveConnectCaller(Unknown Source)
at sun.plugin.liveconnect.SecureInvocation.access$000(Unknown Source)
at sun.plugin.liveconnect.SecureInvocation$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source)
java.net.MalformedURLException: no protocol:
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at sun.plugin.liveconnect.SecureInvocation.checkLiveConnectCaller(Unknown Source)
at sun.plugin.liveconnect.SecureInvocation.access$000(Unknown Source)
at sun.plugin.liveconnect.SecureInvocation$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source)
in encrypt method
trying to get pwd value from document
got pwd from document, password is 12345
is this getting here?
Ignored exception: java.security.PrivilegedActionException: java.lang.reflect.InvocationTargetException
我认为这就是堆栈跟踪。我希望这些信息是足够的和有用的。