java - 类文件中不兼容的魔法值 21877456

标签 java windows iis applet

我正在尝试在我的网页上使用 java applet。我尝试/搜索很多东西但没有机会。所以情况就是这样。

我的小程序代码在 app.html 中很简单:

    <applet codebase="." archive="applet.jar" code="de.escape.quincunx.dxf.apViewer" width="640" height="480" name="TEST">
    <param name="file"               value="40.dxf">
    <param name="framed"             value="false">
    <param name="frameWidth"         value="800">
    <param name="frameHeight"        value="600">
    </applet>

当我直接在浏览器中打开时,该 html 文件可以正常工作。当我使用 apache 提供服务时它可以工作,但当我尝试使用 IIS 提供服务时它不工作并给出错误“类文件中不兼容的魔法值 21877456”。在 apache 中,我尝试了 php 和 html,两者都工作正常。

当我尝试提供小程序时,IIS 上是否需要任何特殊配置?

感谢您的回答。

最佳答案

我认为 IIS 没有为 .class 提供正确的文件,可能会返回 404 错误或类似的错误,因为它找不到该文件。

该错误意味着 Java 需要一个 .class 文件,所有类文件都以 0xCAFEBABE 开头,这是一个神奇的数字,Java 可以用它来检查它正在接收的文件是否确实是一个类文件。但是,在您的情况下,IIS 返回的文件不是类文件,它不是以 0xCAFEBABE 开头,Java 无法解析它。

最常见的原因是 Web 服务器无法提供文件,通常是由于 404 错误。

您应该检查幕后发生的情况,在 IIS 日志中搜索 .class 文件的请求,或者使用工具(甚至可能是 firebug)来查看返回到浏览器的内容。

关于java - 类文件中不兼容的魔法值 21877456,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10501440/

相关文章:

c# - 在内核空间模拟鼠标点击

iis - 由于 'Slow Requests' 限制,Azure 网站不断重新启动

java - 如何为 stanford corenlp 获取文本的 xml 输出

java - 设计决策 - Math.java 中单独的 RandomNumberGenerator Holder 类的用途/优势是什么?

windows - Perl:为什么我会收到错误 "The file name, directory name, or volume label syntax is incorrect."

c# - 如果 Azure 表存储服务上下文遇到一个错误,它会继续抛出相同的错误

c# - 应用程序因 stackoverflow 而崩溃

java - Android - 如何合并两个 ArrayLists

java - 抽象路由数据源 :- Importance of Thread Bound Transaction Context for lookup key

c++ - 我如何使用 SendInput 在 x、y 坐标上模拟鼠标双击窗口(我知道 handle )?