Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Firefox的IPlanet中的小程序(未找到类)_Java_Applet - Fatal编程技术网

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

Java 使用Firefox的IPlanet中的小程序(未找到类),java,applet,Java,Applet,我有一个小程序,在本地访问时可以很好地加载(IE和Firefox) 然而,当我把我的网页放在一个Web服务器(本地IPlanet)上时,它拒绝在Firefox上加载(但在IE上仍然可以)。 我在java控制台中遇到以下错误: load: class XXX.localprinting.LocalPrintingApplet.class not found. java.lang.ClassNotFoundException: XXX.localprinting.LocalPrintingApple

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

然而,当我把我的网页放在一个Web服务器(本地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,我可以成功下载jar

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

一些补充资料:

  • 小程序使用应下载的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上本地工作(无Web服务器)

  • 它与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>

未安装Java运行时环境v5.0对小程序的支持

我认为您正在尝试访问类
XXX.localprinting.LocalPrintingApplet.class
,而您应该访问类
XXX.localprinting.LocalPrintingApplet
(不带“.class”)

尝试直接从Firefox下载jar文件以查看发生了什么。另外,请确保在web服务器中为jar文件设置了正确的MIME类型。

其他一些尝试:

  • LocalPrintingApplet类是否依赖于jar中的类?小程序类已加载,如日志所示-jar是否也已加载?您不需要将类放在jar外部
IE有它自己的特点,这意味着需要两个对象标记——一个用于IE,另一个用于符合标准的浏览器。有关小程序的跨浏览器对象标记的示例,请参见以下内容,以及本文:

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

applet name="XYZ" archive="xxx.jar" code="x.y.Applet" width='100%' height='100%' mayscript="mayscript"
现在要抓住救命稻草,但您也可以使用属性而不是
子标记,因为属性的使用似乎更广泛


最后,如果到目前为止还没有取得任何成功,那么最后显示的是一个跨浏览器对象嵌入,它可以在FF和IE上工作。

故障显然是由安全冲突引起的
java.security.AccessController.doPrivileged(本机方法)

原因很可能与以下任一方面有关:

  • SSL或小程序签名证书缺失或无效,或
  • java或Firefox中的跨站点脚本保护,或
  • 冲突的firefox插件,如NoScript,或
  • firefox中的java安全首选项

我会检查您所有与java相关的安全首选项和插件。

实际上它没有改变任何东西(我已经尝试过了):class XXX.localprinting.LocalPrintingApplet找不到(然后通过附加.class再次尝试)。您好。好建议。我已经尝试了jar的URL,它成功地下载了它。我还尝试用这个完整路径和相同的问题替换相对URL。对于MIME类型,如何检查它?为什么它在IE/Chrome中的行为会有所不同?您可以使用Firebug的网络面板查看内容类型标题的值。错误的MIME类型可能会导致像您这样的问题。可能是Firefox的Java插件拒绝加载内容类型不正确的jar,而其他浏览器对此很满意。这当然是一个疯狂的猜测——我相信这是值得一看的。好吧,除了我在Firebug网络面板或HTTPWatch(IE或Firefox)中看不到jar的踪迹之外。我猜它是委托给JVM的?试着下载jar(类似于)来找出所使用的MIME类型(内容类型头)。还可以查看IPlanet文档,了解MIME类型是如何配置的。MIME类型是application/java archive。我认为这很好。事实上,我用额外的日志更新了我的帖子,我们现在可以看到我在jar请求中得到了404。以防万一,JRE和Firefox的哪个版本?+1,这样你就可以得到所花时间的奖励(2小时后结束)。我知道我已经研究了参数的顺序,但没有成功。我还需要检查一下其他的建议。将在解决时/如果解决,将向您通报。感谢您的帮助-我希望修复会引导您找到解决方案。要奖励奖金,答案必须有2分或手动选择作为接受的答案。记录在案,我在这些技巧中都没有成功。谢谢你。