我正在尝试运行简单的“Hello world”java applet程序。但是在执行applet时不会出现在浏览器中而是发生ClassNotFoundException。
这是我从浏览器访问它的方式: -
<applet width="500" height="50" codebase="http://localhost:13383/tuexample/"
code="dk.certificate.demo.DemoApplet.class" >...applet..</applet>
JavaCode: -
import java.applet.Applet;
import java.awt.Graphics;
public class DemoApplet extends Applet
{
private static final long serialVersionUID = 1L;
@Override
public void paint(Graphics g)
{
g.drawString("Welcome in Java Applet.",40,20);
}
}
异常日志: -
Java Plug-in 10.21.2.11
Using JRE version 1.7.0_21-b11 Java HotSpot(TM) Client VM
User home directory = C:\Users\rahil_khan
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
28-May-2013 14:20:51 <INFO> thread applet-dk.pbs.applet.bootstrap.BootApplet-1 - stop
28-May-2013 14:20:51 <INFO> thread applet-dk.pbs.applet.bootstrap.BootApplet-1 -
destroy
答案 0 :(得分:0)
在标签中:
code="dk/certificate/demo/DemoApplet.class"
package dk.certificate.demo;
?顺便提一下JApplet
,摇摆i.o. AWT,是更好的解决方案。
也许在你的情况下,代码库驻留在(应该是)WEB-INF / classes中,这通常是不可能的,因为URL不能访问WEB-INF文件。
实际上,通常在单独的项目中创建.jar并将其存放在Web Contents目录中。
答案 1 :(得分:0)
让我最后回答这个问题:
您将获得ClassNotFoundException
,因为似乎在您提供的配置中找不到Applet类。
您的代码执行此操作:它正试图在DemoApplet.class
dk.certificate.demo
内找到localhost:13383/tuexample/
因此,如果我们将localhost:13383/tuexample/
视为您的根 webapp 目录,名为xyz
,那么您可能的文件结构应如下所示:
XYZ/dk/certificate/demo/DemoApplet.class
显然似乎并非如此。
另外请确保您的班级文件中有package dk.certificate.demo
,我目前看不到。
现在,应该很容易根据我的解释修复你的代码。
答案 2 :(得分:0)
@RaviTrivedi和@JoopEggen感谢您的支持我能够解决问题。
两种解决方案: -
DemoApplet.jar: -
我创建了applet代码的jar( DemoApplet.jar )( DemoApplet.java )和
将其放在 AppletDemo \ WebContent \ lib 文件夹中。
我移动了类文件夹 来自 AppletDemo \ WebContent \ WEB-INF \ classes 到 AppletDemo \ WebContent \ classes
从login.jsp我以下列方式调用applet: -
<!-- DemoApplet.jar -->
<applet
width="500"
height="50"
codebase="http://localhost:8080/AppletDemo"
archive="lib/demoApplet.jar"
code=dk.certificate.demo.DemoApplet.class >...applet..</applet>
<!-- classes -->
<applet
width="500"
height="50"
codebase="http://localhost:8080/AppletDemo/classes"
code=dk.certificate.demo.DemoApplet.class >...class...applet..</applet>
它有两种方式。 非常感谢。 :d