当前位置: 首页 > 面试题库 >

与服务器“不兼容的魔术值1013478509”一起启动时,Java Applet失败

樊俊悟
2023-03-14
问题内容

我的小程序有问题。我有一个学校项目,应该做一个乒乓球游戏。它可以在脱机状态下正常运行,但是当我尝试从服务器上加载它时,我只得到一个带有红色文本的空框架。当我单击文本时,收到消息:

魔法值不兼容1013478509

我正在使用jetty-all-8.1.8.v20121106.jar和servlet-api-3.0.jar

启动服务器的类如下所示:

public class TheServer extends HttpServlet {
    private static final long serialVersionUID = 1L; 
    private Scanner sc;
    private String webSite;
    private PrintWriter out;


    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html; charset=UTF-8");
        resp.setStatus(HttpServletResponse.SC_OK);
        out = resp.getWriter();

        sc = new Scanner(new File("F:\\Users\\Johan\\Workspace Kurs 5\\PongOnline\\bin\\pong.html"));
        webSite = "";
        while(sc.hasNext())
            webSite += sc.nextLine();
        sc.close();

        out.println(webSite);
        System.out.println(webSite);
    }

    public static void main(String...args) throws Exception {
        ServletContextHandler context = new ServletContextHandler( ServletContextHandler.SESSIONS);
        context.addServlet(TheServer.class, "/");

        Server server = new Server(666);
        server.setHandler(context);
        server.start();
        server.join();
    }
}

问题答案:

根据
Java语言规范,正确的.class文件必须以
幻数 开头:

魔术项目提供用于标识类文件格式的魔术数字。它的值为0xCAFEBABE。

如果您.class使用十六进制编辑器打开任何已编译的文件并检查其第一个字节,则它们应为0xCAFEBABE1013478509ASCII中的转换为<htm

确保已在服务器上正确编译了该类。正如BalusC在其答案中指出的那样,更有可能确保URL正确。<htm您获得的…字节可能是服务器提供的HTML错误文档。



 类似资料:
  • 问题内容: 我在服务器上编译我的代码并下载并尝试在我的计算机上运行它时遇到了一个奇怪的错误。 我基本上是在EC2实例上编译一些Java文件,然后将它们加载到存储中供以后使用。 当我将文件下载到计算机上并尝试运行它们时,出现以下错误: 我正在使用以下方法编译文件: 并使用此方法上传文件: 有人知道我在做什么错吗?当我在计算机上编译这些类文件时,这些类文件是可运行的,但是当我将它们上传到云中并下载它们

  • 我已经构建了一个应用程序,它是一个Eureka服务器,服务注册表。 pom.xml如下所示: 运行应用程序的主要类如下所示: 当我删除pom.xml中的eureka依赖项时,应用程序运行成功。 哪里不对?

  • 尝试远程启动服务时遇到奇怪的行为。 编辑:我进一步研究了这个问题,发现只有在尝试运行我的特定服务时才会出现这种情况。这意味着我的服务必须从已经登录的用户的会话中运行(这就是为什么如果我之前使用mstsc访问服务器,它仍然可以工作)。所以我想我的新问题是--有没有一种方法可以让我从PowerShell登录到远程机器? 多谢了。

  • 问题内容: 我在新的数字海洋ubuntu 14.04服务器上部署了selenium独立服务器。它无法正常启动。它给出的日志是 我猜在日志中缺少2行。 有人知道为什么会发生吗? 问题答案: 当硒试图产生随机种子时会发生这种情况,但是内核缺乏熵。 解决方案是安装类似的添加熵的软件。参见https://www.digitalocean.com/community/tutorials/how- to-se

  • 我一直在我的应用程序上使用谷歌的融合定位服务进行位置跟踪。我使用Android studio,它是gradle构建系统。最近我发现了谷歌定位服务的一个大问题。 我的gradle构建文件包含此依赖项:。所以当我重建我的项目时,Android Studio下载了google play服务的最新版本,即5.2.08。然而,我的设备(三星Galaxy S4)只有5.0.89版本。显然这两个版本不兼容,我得