При программировании я пытаюсь, чтобы сервер GlassFish обслуживал клиентский апплет для связи с сервлетом сервера.Я застрял на том, чтобы GlassFish доставил апплет.Я много об этом искал и не нашел ничего, что решило бы проблему - хотя я немного учусь.
У меня есть апплет 'hello world', скомпилированный в tskApplet.class.
import java.applet.Applet;
import java.awt.*;
public class tskApplet extends Applet {
public void paint (Graphics g) {
g.drawString("Hello world! It's an applet!", 5, 25);
}
}
У меня есть html-страница, которая загружает апплет со следующим тегом апплета:
<applet code = "tskApplet.class" width="300" height="300"></applet>
Я пробовал (но безрезультатно) все виды изменений, такие как установкафайл .class в .jar и включающий archive = "tskApplet.jar" в тег апплета, и используя страницу .jsp и т. д.
Я использую IntelliJ, и если я запускаю tskApplet из апплетаконфигурация запуска / отладки работает нормально.Я следовал этому руководству, чтобы настроить GlassFish с ImtelliJ: http://wiki.jetbrains.net/intellij/Developing_applications_for_GlassFish_Server_in_IntelliJ_IDEA
Если я скопирую один и тот же файл .class и .html из веб-каталога сервера GlassFish в папку «Сайты OS X», то апплет работаетнормально из браузера, когда я получаю к нему доступ таким образом.
Но если я запускаю GlassFish и получаю доступ к своему веб-приложению, апплет не запускается.Вместо этого я получаю следующие ошибки в java-консоли браузера:
java.lang.ClassFormatError: Incompatible magic value 1768779887 in class file tskApplet
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:219)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:674)
at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:2990)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1481)
at java.lang.Thread.run(Thread.java:680)
Есть предложения, где искать дальше?