【问题标题】:ClassFormatError - Incompatible magic valueClassFormatError - 不兼容的魔法值
【发布时间】:2013-12-11 21:11:34
【问题描述】:

我尝试在我的网络应用程序中使用小程序。

小程序类:

public class TestApplet extends JApplet {

    @Override
    public void init() {
        try {
            System.out.println("Applet!");
            SwingUtilities.invokeAndWait(new Runnable() {
                @Override
                public void run() {
                    JLabel lbl = new JLabel("Hello World");
                    add(lbl);
                }
            });
        } catch (Exception e) {
            System.err.println("createGUI didn't complete successfully");
        }
    }
}

在 JSP 中:

<applet code="TestApplet.class" width="320" height="120" ></applet>

但是当我在加载小程序后加载页面时,我得到了这个错误。

ClassFormatError - Incompatible magic value 168430090 in class file TestApplet.

在我的应用中,我使用 Spring Security - 如果相关的话。

【问题讨论】:

  • This 可能会有所帮助。
  • 我看到了,但是 Weblogic 有解决方法。我使用 TomCat 7,并尝试将其转换为 TomCat,但无法正常工作。我又遇到了这个错误。

标签: java jakarta-ee applet jsessionid


【解决方案1】:

在服务器发回错误页面或登录页面而不是 jar/class 文件之前,我已经看到此错误。您可以使用fiddler 之类的东西来查看您的网络服务器实际发送回浏览器的内容,您应该能够看到它发送回的内容。许多应用服务器现在在他们的 cookie 上设置了 httpOnly=true,而 java 浏览器插件中的一个错误意味着它在请求 jar 时不发送 jsessionid。显然,这仅在您使用基于表单的身份验证或类似的情况下才真正适用。

【讨论】:

    猜你喜欢
    • 2013-02-21
    • 2016-06-11
    • 1970-01-01
    • 2022-01-20
    • 2012-05-06
    • 2011-09-13
    • 2020-07-09
    相关资源
    最近更新 更多