我遇到run applet in web application中陈述的完全相同的问题。它会为我的applet抛出ClassNotFoundException
。我从那里尝试了解决方案,但仍然没有运气。
以下是我在html中嵌入Applet的代码:
<body>
<applet codebase="/DaaS/applet" archive="/DaaS/applet/firstApplet.jar" code="FirstApplet.class" width="300" height ="300"> </applet>
我有一个文件夹DaaS/applet
,其中包含firstApplet.jar,我的index.html
位于Daas/Webcontent
。
答案 0 :(得分:1)
codebase
(和archive
)属性中的URL相对于当前请求URL(您在浏览器地址栏中看到的URL),而不是服务器端的磁盘文件系统。想象一下,你在某个子文件夹中有index.html
页面,如下所示:
codebase
(和archive
)属性中的URL以前导斜杠/
开头,使其相对于域根而不是当前文件夹。因此,webbrowser将在以下URL中查找存档和JAR
这本身可能不正确。您需要确保codebase
(和archive
)网址指向相对于当前请求网址的正确网址。根据目前为止提供的信息,/DaaS
文件夹与index.html
基本上位于同一个父文件夹中,因此应执行以下操作:
<applet codebase="DaaS/applet" archive="firstApplet.jar" ... />
(请注意,我简化了archive
属性,无论如何都会相对于codebase
解析
这样浏览器将从以下位置加载JAR:
http://localhost:8080/somecontext/DaaS/applet/firstApplet.jar