【问题标题】:How to embed java into HTML page如何将java嵌入HTML页面
【发布时间】:2015-12-22 11:04:24
【问题描述】:

我似乎在使用<applet> 标记让我的Java 程序在Web 浏览器中运行时遇到问题。

这是我导入 java .class 的代码:

<applet code="Userid.class"width="740" height="400"></applet>

由于某种原因,我不断收到一条错误消息,显示“NoClassDefFoundError Userid (wrong name: userid/Userid)”

如果这是问题之一,Java 程序本身不是图形化的。以防万一,这是我的 Java 应用程序源代码:

package userid;
import java.util.Scanner;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.Writer;
import java.io.File;
import java.io.IOException;

public class Userid {

public static void main(String[] args) {
    Scanner in = new Scanner (System.in);
    String userid = in.nextLine();
    try{
        File users = new File(userid+".txt");
        BufferedWriter output;
        output = new BufferedWriter(new FileWriter(users, true));
        output.newLine();
        output.append(userid);
        output.close();
        new File(userid).mkdirs();
        System.out.println("> New user " +userid+ " has been added.");
        System.out.println("> Please use this name everytime you use Oswald.");
    }
    catch (IOException e) {                
    }
}    
}

该程序在 NetBeans 中运行良好,并且 .class 与 HTML 文件位于同一目录中。我可能在这里做错了什么?谢谢!

【问题讨论】:

  • Applet 已过时,即使安装了 Java 插件,也大多被现代浏览器阻止。无论如何,这不是一个小程序。这是一个命令行程序。
  • 你的课程不是小程序。

标签: java html


【解决方案1】:

一个问题是该类不是从 java.applet.Applet 类扩展而来的。为此,您需要 import java.applet.Applet 然后将您的类定义更改为:

public class Userid extends Applet {

但是,就像前面提到的那样,您的程序不是为了小程序而编写的,而是为了与命令行一起使用而编写的,因此是 System.in 和 System.out 流。我不会质疑您编写小程序的决定,尽管(正如 chrylis 所说)它们都已过时,因为它们是练习 Java 技能的好方法,尤其是在使用图形界面时。

这里有一个资源可以帮助您开始使用小程序:http://java.about.com/od/webapplications/ss/firstapplet.htm

【讨论】:

    【解决方案2】:

    就您的 Java 代码而言。这没有什么大问题。它可以作为独立程序正常运行。但是,问题在于 Applet

    根据 W3C,applet 标签已被弃用 (Check Here For More Info)

    以前的 HTML 版本允许作者包含图片(通过 IMG) 和小程序(通过小程序)。这些元素有几个限制:

    他们未能解决更普遍的问题,即如何将新的和 未来的媒体类型。 APPLET 元素仅适用于基于 Java 的 小程序。不推荐使用此元素以支持 OBJECT。他们摆出姿势 可访问性问题。

    尽管有像 Deployment Tool Kit for DeployJava.js 这样的可能替代方案,它可以让你做你想做的事。

    另外,我建议您在发布之前进行搜索,以获取更多关于您要查找的内容的知识。

    通过thisthis 了解如何做你打算做的事情的基本知识。

    【讨论】:

      猜你喜欢
      • 2013-11-30
      • 2015-10-21
      • 2021-07-27
      • 2019-05-13
      • 2010-09-22
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多