[英]How to embed java into HTML page
使用<applet>
標簽使Java程序在Web瀏覽器中運行時,似乎出現了問題。
這是我導入java .class的代碼:
<applet code="Userid.class"width="740" height="400"></applet>
出於某種原因,我不斷收到錯誤消息,提示“ NoClassDefFoundError Userid(錯誤的名稱: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文件位於相同的目錄中。 我可能在這里做錯了嗎? 謝謝!
一個問題是該類沒有從java.applet.Applet類擴展。 為此,您需要import java.applet.Applet
,然后將類定義更改為:
public class Userid extends Applet {
但是,就像前面提到的那樣,您的程序不是編寫為applet,而是編寫為與命令行一起使用,因此是System.in和System.out流。 我不會質疑您決定編寫applet的決定,即使它們(如chrylis所說)已經過時了,因為它們是練習Java技能的好方法,尤其是在使用圖形界面時。
這是幫助您開始使用applet的資源: http : //java.about.com/od/webapplications/ss/firstapplet.htm
就您的Java代碼而言。 那里沒有大問題。 它可以作為獨立程序正常運行。 但是,問題在於小程序
根據W3C,applet標簽已過時( 請查看此處以獲取更多信息 )
早期版本的HTML允許作者包括圖像(通過IMG)和小程序(通過APPLET)。 這些元素有幾個限制:
他們無法解決關於如何包括新的和將來的媒體類型的更普遍的問題。 APPLET元素僅適用於基於Java的小程序。 不推薦使用此元素,而推薦使用“對象”。 它們帶來了可訪問性問題。
盡管有其他替代方法,例如DeployJava.js的Deployment Tool Kit,它可能使您可以做自己想要的事情。
另外,我建議您在發布之前進行搜索,以獲得更多關於所需內容的知識。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.