gpt4 book ai didi

java - 使用 Firefox 的 IPlanet 中的小程序(未找到类)

转载 作者:行者123 更新时间:2023-12-01 16:04:13 25 4
gpt4 key购买 nike

我有一个小程序,在本地访问(IE 和 Firefox)时可以很好地加载。

但是,当我将网页放入网络服务器(本地 IPlanet)时,它拒绝在 Firefox 上加载(但在 IE 上仍然正常)。我在 java 控制台中收到以下错误:

load: class XXX.localprinting.LocalPrintingApplet.class not found.
java.lang.ClassNotFoundException: XXX.localprinting.LocalPrintingApplet.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed:https://XXX/test/XXX/localprinting/LocalPrintingApplet/class.class
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 7 more
Exception: java.lang.ClassNotFoundException: XXX.localprinting.LocalPrintingApplet.class

[编辑]通过在 java 控制台中启用更多跟踪,我实际上找到了根本问题:

network: Connecting http://ZZZ:443/ with proxy=DIRECT
security: Loading Root CA certificates from C:\Program Files\Java\jre6\lib\security\cacerts
security: Loaded Root CA certificates from C:\Program Files\Java\jre6\lib\security\cacerts
security: Loading SSL Root CA certificates from C:\Program Files\Java\jre6\lib\security\cacerts
security: Loaded SSL Root CA certificates from C:\Program Files\Java\jre6\lib\security\cacerts
security: Loading Deployment SSL certificates from C:\Documents and Settings\ZZZ\Application Data\Sun\Java\Deployment\security\trusted.jssecerts
security: Loaded Deployment SSL certificates from C:\Documents and Settings\ZZZ\Application Data\Sun\Java\Deployment\security\trusted.jssecerts
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment session certificate store
security: Checking if SSL certificate is in Deployment permanent certificate store
network: Connecting https://ZZZ/modules/print/applet/LocalPrinting.jar with cookie "aria_user_profile={DSƌ!,!C!"ÍÔaÃæK9eä|IC¦!A:i̤!?!7æâ!A7!*E!%!'!F"ú°!4QÎ!B:N´)!'RJ6a\IS"
network: Connecting https://ZZZ/modules/print/applet/LocalPrinting.jar with proxy=DIRECT
network: Connecting http://ZZZ:443/ with proxy=DIRECT
network: Connecting https://ZZZ/modules/print/applet/LocalPrinting.jar with cookie "aria_user_profile={DSƌ!,!C!"ÍÔaÃæK9eä|IC¦!A:i̤!?!7æâ!A7!*E!%!'!F"ú°!4QÎ!B:N´)!'RJ6a\IS"
**java.io.IOException: Server returned HTTP response code: 400 for URL: https://ZZZ/modules/print/applet/LocalPrinting.jar**
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack.downloadJAR(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack.access$000(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack$2.run(Unknown Source)

但是,通过使用 URL https://ZZZ/modules/print/applet/LocalPrinting.jar ,我可以成功下载jar。

知道什么可以解释网络服务器中的不同行为吗?
我已经研究了“找不到类”的问题,但没有找到相关的内容。

一些附加信息:

  • 小程序使用应下载的 jar 文件。但是,我可以在日志中看到它尝试下载类文件

    172.16.195.55 - - [10/Jun/2010:11:47:45 +0200]“GET/XXXX/apf/init/XXXX/localprinting/LocalPrintingApplet.class HTTP/1.1”400 147

  • 它可以在 IE/Firefox/Chrome 上本地运行(无网络服务器)

  • 它可以与 IE/Firefox/Chrome 上的 Tomcat 配合使用
  • 它可与 IE/Chrome 上的 Iplanet 配合使用
  • 它无法在带有 Firefox 的 Iplanet 上运行(带或不带 HTTPS)
  • (当我说 Iplanet 时,它是用于静态内容的 Iplanet 和用于 J2EE 内容的 Weblogic)

Firefox 在 Firebug HTML 选项卡中给出的 HTML 代码:

<object width="0" height="0" id="eprint_printingApplet" classid="clsid:CAFEEFAC-0015-0000-FFFF-ABCDEFFEDCBA">
<param value="application/x-java-applet;version=1.5" name="type">
<param value="/modules/print/applet/LocalPrinting.jar" name="archive">
<param value="xxx.localprinting.LocalPrintingApplet.class" name="code">
<param value="true" name="mayscript">
<param value="printingApplet" name="name">
<param value="pdt1.glb.XXXX.net,pdt2.glb.XXXX.net" name="host">
<param value="10244" name="port">
<param value="" name="password">
<param value="XXXX" name="unto">
<param value="APPLET" name="env.applicationLabel">
<param value="1" name="env.applicationIndex">
<param value="6X" name="env.XXXX">

<comment>
<embed width="0" height="0" env.XXXX="6X" env.applicationindex="1" env.applicationlabel="APPLET" unto="XXXX" password="" port="10244" host="pdt1.glb.XXXX.net,pdt2.glb.XXXX.net" mayscript="true" name="printingApplet" code="XXXX.localprinting.LocalPrintingApplet.class" archive="/modules/print/applet/LocalPrinting.jar" type="application/x-java-applet;version=1.5">
<noembed>No Java Runtime Environment v5.0 support for applet installed</noembed>
</comment>

最佳答案

其他一些可以尝试的事情:

  • LocalPrintingApplet 类是否依赖于 jar 中的类?从日志中可以看出,Applet 类已加载 - jar 也已加载吗?您不需要将类放在 jar 外部。

IE 有它自己的特性,这意味着需要两个对象标记 - 一个用于 IE,另一个用于符合标准的浏览器。看这个SO question有关小程序的跨浏览器对象标记的示例,请参阅本文:Demystifying Java Applets

上面的 SO 问题还提到 FF 没有发挥作用,修复方法是重新排序对象参数:

applet name="XYZ" archive="xxx.jar" code="x.y.Applet" width='100%' height='100%' mayscript="mayscript"

现在正在抓紧救命稻草,但您也可以使用属性而不是 <PARAM>子标签作为属性似乎被更广泛地使用。

最后,如果您到目前为止还没有取得任何成功,请使用 forum post最后展示了一个可在 FF 和 IE 上运行的跨浏览器对象嵌入。

关于java - 使用 Firefox 的 IPlanet 中的小程序(未找到类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2995830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com