1

我有一个非常简单的 java 小程序,我使用来自 docs.oracle( http://docs.oracle.com/javase/tutorial/deployment/applet/getStarted.html ) 站点的源代码,它应该可以工作,并且可以在eclipse就好了,它把它放到了问题所在的页面上。该文件位于 localhost/applet/applet.html 的 localhost 服务器上,我在同一目录中有文件 JavaQuiz.jar。我的html文件如下。

<hmtl>
<applet codebase="localhost/applet/"
    code = 'JavaQuiz.jar' 
    archive = 'JavaQuiz.jar'
    width = 300
    height = 300 />
</html>

有什么我想念的吗?还是需要改变?我期待任何可以提供的帮助,请尝试解释它而不是告诉我答案,以便我可以学习。:D

这就是 java colsole Java Plug-in 10.5.1.255 Using JRE version 1.7.0_05-b05 Java HotSpot(TM) Client VM 中的内容

用户主目录 = C:\Users\Jihoon

c:清除控制台窗口 f:在终结队列中终结对象 g:垃圾收集 h:显示此帮助消息 l:转储类加载器列表 m:打印内存使用情况 o:触发日志记录 q:隐藏控制台 r:重新加载策略配置 s:转储系统和部署属性 t:转储线程列表 v:转储线程堆栈 x:清除类加载器缓存

0-5:将跟踪级别设置为

plugin2manager.parentwindowDispose

Chrome 开发人员帮助的东西没有显示任何问题。当我点击小程序上的详细信息时,它只会说 classnotfounfexception: JavaQuiz

4

6 回答 6

2

code属性应该指向一个完全限定的类名,而不是一个 jar。

于 2012-10-10T20:25:57.757 回答
2

此外,您应该注意localhost...这意味着 j.jar 位于与 html 相同的目录中名为 localhost 的文件夹中。这是真的吗?或者你的意思是http://localhost:80/applet/或者/applet/

于 2012-10-10T20:31:34.707 回答
2
<html>
<applet 
    archive="http://localhost/applet/JavaQuiz.jar" 
    code="JavaQuiz.class"
    width = 300
    height = 300 />
</html>

我认为最大的问题是没有http://我不完全确定其他参数。玩弄那个。

所以在你的情况下codebase="localhost/applet/"改为codebase="http://localhost/applet/"

于 2012-10-11T02:27:23.120 回答
1

<hmtl>应该<html>

于 2012-10-10T20:27:49.377 回答
1

强制性的“代码”属性(在您的示例中缺少)应该指向您打算运行的类(扩展 JApplet 的类)。就像是:

<html>
<applet codebase="localhost/applet/" code="yourpackage.YourApplet.class"
    code = 'JavaQuiz.jar' 
    archive = 'JavaQuiz.jar'
    width = 300
    height = 300 />
</html>
于 2012-10-10T20:28:31.313 回答
1

http://localhost/applet/JavaQuiz.jar在部署时将不起作用。

<html>
<applet 
    codebase="."
    archive="JavaQuiz.jar" 
    code="JavaQuiz"
    width = 300
    height = 300 >
</applet>
</html>

由于代码库指向“当前目录”,这将适用于在本地主机上的小程序以及实时部署。

要点,其中一些已经被提及:

  1. code 属性应该是applet 类的全限定类名,没有.class结尾。
  2. 小程序元素不能“自我关闭” - 始终用于</applet>关闭元素。
  3. 如果省略,则代码库默认为 HTML 所在的目录,因此放置codebase="."是多余的。没有它它也应该工作。
于 2012-10-11T03:44:54.790 回答