尝试运行Facelets中嵌入的applet时,不兼容的魔术值1010792557

时间:2011-11-06 21:29:33

标签: java jsf applet glassfish facelets

当我通过Glassfish服务器访问嵌入了applet的Facelets页面时,我收到此错误。 虽然当我只是从我的电脑打开它时工作正常,所以小程序是可以的。 是否可以在Glassfish(3.1,JSF 2.0)上运行applet?

这是我的尝试方式:

<applet code="test.TestApplet" archive="TestApplet.jar"/>

2 个答案:

答案 0 :(得分:7)

这是ClassFormatError的典型信息。有效Java类的神奇值是0xCAFEBABE,这是前4个字节。但是你得到0x3C3F786D代表ASCII字符<?xm

因此,对TestApplet.jar的请求显然实际返回了一个XML文档。当您将浏览器地址栏中的当前请求URI更改为指向TestApplet.jar文件(即将URL中的/page.jsf/page.xhtml更改为{{1}时,您应该可以自己查看}})。然后,当您尝试下载applet时,您将看到实际检索到的内容。也许这是Facelets提供的一个简单的HTTP 404错误文档。

要解决此问题,请确保/TestApplet.jar属性中的网址正确无误。它与您在浏览器地址栏中看到的当前请求URL相关。

答案 1 :(得分:-1)

最后我找到了解决方案:

如果我将applet的jar文件放入我的Web应用程序的resources文件夹中,并将存档文件的路径设置为以下

<applet code="test.TestApplet" archive="../resources/TestApplet.jar"/>

它工作正常。

相关问题