在网页中嵌入Java Applet

时间:2013-03-17 07:21:17

标签: java html applet classnotfoundexception

我已经构建了一个java applet,并尝试将其嵌入到我服务器上的HTML文件中。当我访问该页面时,applet会尝试加载,但随后ClassNotFoundException上的.applet.BookingApplet.class崩溃(这是applet的名称,其中applet是applet的名称在。)

   <body>
    <script src ="http://java.com/js/deployJava.js"></script>
    <script>
        var attributes = {
        codebase: '/webapp/HelpSessions.jar', 

       code: '/webapp/HelpSessions.jar/applet/BookingApplet.class',
       archive: '/lib/javax.persistence.jar, /lib/javax.validation-1.0.0.GA.jar, /lib/joda-time-2.1.jar, /lib/mail.jar, /lib/mysql-connector-java-5.1.23-bin.jar',
       width: 800, 
       height: 600        
        };
        var version = "1.6"
        deployJava.runApplet(attributes, version);
        </script>
</body>

这是我第一次尝试做这样的事情,所以我确定这只是一个语法错误,我指的是HTML中的类文件。如果需要,我可以发布任何其他代码,但我认为它不相关,因为applet在AppletViewer中运行良好。

我今晚不会睡觉,直到我把这个东西运转起来......

编辑:为了简化操作,我尝试将所有内容移动到一个文件夹中,因此我不必处理代码库。这就是现在的样子:

<html>
<head>
    <title>Schedule a Help Session</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    <script src ="http://java.com/js/deployJava.js"></script>
    <script>
        var attributes = {

       code: '/applet/BookingApplet.class',
       archive: '/lib/javax.persistence.jar, /lib/javax.validation-1.0.0.GA.jar, /lib/joda-time-2.1.jar, /lib/mail.jar, /lib/mysql-connector-java-5.1.23-bin.jar',
       width: 800, 
       height: 600        
        };
        var version = "1.6"
        deployJava.runApplet(attributes, version);
        </script>
</body>

我得到了相同的ClassNotFoundException。此外,我可以在java控制台的详细信息中看到InterruptedException,但它没有告诉我在我的代码中导致异常的位置(如果有的话)。

1 个答案:

答案 0 :(得分:0)

code属性更改为“applet / BookingApplet.class”。目前您正在使用“/applet/BookingApplet.class”。

当Java读取URL时,它将任何'/':s转换为'。':s。这将使URL“/applet/BookingApplet.class”“.applet.BookingApplet.class”。 “applet / BookingApplet.class”将成为“applet.BookingApplet.class”,这是正确的。

请记住将codebase设置为指向“applet”目录所在的目录。