2015-09-24 3 views
0

У меня, похоже, проблема с запуском моей программы Java в веб-браузере с помощью тега <applet>.Как вставить java в HTML-страницу

Вот мой код для импорта Java .class:

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

По некоторым причинам, я получаю сообщение об ошибке: "NoClassDefFoundError USERID (неправильное имя: идентификатор/Userid)"

Ява сама программа не является графической, если это одна из проблем. На всякий случай, вот мой исходный код для приложения 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-файл. Может быть, я здесь что-то не так? Благодаря!

+0

Апплеты устарели и в основном блокируются современными браузерами, даже если установлен плагин Java. Это не апплет; это программа командной строки. – chrylis

+0

Ваш класс не является апплетом. – user1929959

ответ

0

Одна из проблем заключается в том, что класс не распространяется из класса java.applet.Applet. Чтобы сделать это, Вы должны были бы import java.applet.Applet, а затем изменить определение класса для:

public class Userid extends Applet { 

Однако, как и то, что было сказано ранее, ваша программа не написана как апплет, она написана для использования с командной строки, следовательно, потоки System.in и System.out. Я не стану подвергать сомнению ваше решение написать апплет, хотя (как сказал хрилис) они почти устарели, потому что они - хороший способ практиковать навыки Java, особенно при работе с графическим интерфейсом.

Вот ресурс, чтобы вы начали с апплетов: http://java.about.com/od/webapplications/ss/firstapplet.htm

0

Насколько ваш код Java обеспокоен. В этом нет больших проблем. Он может работать нормально как отдельная программа. Но проблема заключается в Applet

В соответствии с W3C, апплет тег самортизированы (Check Here For More Info)

Предыдущие версии HTML позволили авторам включать изображения (через IMG) и апплеты (через APPLET). Эти элементы имеют несколько ограничений:

Они не могут решить более общую проблему, связанную с тем, как включать новые типы и типы медиафайлов. Элемент APPLET работает только с Java-приложениями . Этот элемент устарел в пользу OBJECT. Они представляют проблемы с доступностью.

Хотя возможны такие альтернативы, как Deployment Tool Kit for DeployJava.js, что может позволить вам делать то, что вы ищете.

Кроме того, я советую вам выполнить поиск перед публикацией, чтобы получить больше знаний о том, что вы ищете.

Пройдите this и this, чтобы понять основы того, как делать то, что вы намереваетесь сделать.

Смежные вопросы