Java ClassCastException在执行时;“HelloWorld”;小程序代码

Java ClassCastException在执行时;“HelloWorld”;小程序代码,java,Java,我正在尝试运行简单的“Hello world”java小程序。但在执行时,小程序不会出现在浏览器中,而是发生ClassNotFoundException 以下是我从浏览器访问它的方式:- …小程序.. Java代码:- import java.applet.Applet; import java.awt.Graphics; public class DemoApplet extends Applet { private static final long serialVersionUID

我正在尝试运行简单的“Hello world”java小程序。但在执行时,小程序不会出现在浏览器中,而是发生ClassNotFoundException

以下是我从浏览器访问它的方式:-

…小程序..

Java代码:-

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
Java插件10.21.2.11
使用JRE版本1.7.0_21-b11 Java HotSpot(TM)客户端虚拟机
用户主目录=C:\Users\rahil_khan
----------------------------------------------------
c:清除控制台窗口
f:在终结队列上终结对象
g:垃圾收集
h:显示此帮助消息
l:转储类加载器列表
m:打印内存使用情况
o:触发日志记录
q:隐藏控制台
r:重新加载策略配置
s:转储系统和部署属性
t:转储线程列表
v:转储线程堆栈
x:清除类加载器缓存
0-5:将跟踪级别设置为
----------------------------------------------------
2013年5月28日14:20:51线程applet-dk.pbs.applet.bootstrap.bootplet-1-停止
2013年5月28日14:20:51线程applet-dk.pbs.applet.bootstrap.bootplet-1-
破坏
在标签中:

code="dk/certificate/demo/DemoApplet.class"
  • 包dk.certificate.demo
  • dk/certificate/demo/DemoApplet.class
顺便说一句,
JApplet
,swing i.o.AWT是更好的解决方案


可能在您的情况下,代码库驻留在(应该是)WEB-INF/类中,而WEB-INF/类通常不是KAY,因为URL不应该访问WEB-INF文件


事实上,通常.jar是在一个单独的项目中创建的,并存放在Web内容目录中。

让我最后回答这个问题:

您得到的是
ClassNotFoundException
,因为在您提供的配置中似乎找不到Applet类

您的代码执行以下操作:它正在尝试在包
dk.certificate.demo中查找
localhost:13383/tuexample/

<> P> >如果我们考虑<代码>本地主机:13383 /tuStudio/<代码>作为您的根WebApp目录名为“代码> XYZ ”,那么您可能的文件结构应该是这样的:

XYZ/dk/certificate/demo/DemoApplet.class
,显然情况并非如此

还要确保你的类文件中有
包dk.certificate.demo
,我现在没有看到


现在,根据我的解释,修复代码应该很容易。

@RaviTrivedi和@JoopEggen感谢您的支持,我能够修复这个问题

两种解决方案:-

  • DemoApplet.jar:- 我用applet代码(DemoApplet.java)创建了jar(DemoApplet.jar)和
    将其放置在AppletDemo\WebContent\lib文件夹中

  • 我移动了班级文件夹 从AppletDemo\WebContent\WEB-INF\classesAppletDemo\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

    请显示异常的详细信息。@RahilKhan我们需要记录的异常详细信息。您的
    webapp
    目录结构是什么?看起来你没有遵守你的目录结构。这是我得到的唯一日志。没有提到例外。可以在JRE 1.7中运行applet吗?@RaviTrivedi这是一个动态web项目。无法添加图像。为什么
    /
    <代码>点。
    也完全有效。您能使用
    /
    吗?以前从未见过。@RaviTrivedi我似乎记得点也是有效的,但是“.class”让我恼火。我看到了斜杠。@JoopEggen是的,包是“package dk.certificate.demo”;类位置是“dk/certificate/demo/DemoApplet.class”。我将尝试创建jar并将其添加到web内容目录。