如何使java小程序在浏览器中运行?

如何使java小程序在浏览器中运行?,java,browser,applet,popup,signed,Java,Browser,Applet,Popup,Signed,我用Eclipse开发了一个java小程序,它包含在MyPage.html中。我打电话给一个网络服务,得到一个回复。它在Eclipse中工作。Web服务与我的计算机不在同一服务器上。所以我想我必须签署我的小程序。我是和你一起做的 keytool -genkey -keystore myStore -alias myAlias jarsigner -keystore myStore -signedjar sMyJar.jar MyJar.jar myAlias keytool -export -a

我用Eclipse开发了一个java小程序,它包含在MyPage.html中。我打电话给一个网络服务,得到一个回复。它在Eclipse中工作。Web服务与我的计算机不在同一服务器上。所以我想我必须签署我的小程序。我是和你一起做的

keytool -genkey -keystore myStore -alias myAlias
jarsigner -keystore myStore -signedjar sMyJar.jar MyJar.jar myAlias
keytool -export -alias myAlias -file myCert.cer
我得到了一个签名的jar文件,我把它放在了文件夹库中。我有一个小程序的类Test.class,放在src文件夹中。 我将以下代码放在html页面中:

<div>
<applet codebase="src/" code="Test.class" height="80" width="300" 
hspace="10" vspace="10" name="Test" archive="lib/sMyJar.jar"></applet>
</div>  
但是我没有弹出窗口,它会询问我是否要执行小程序。即使我删除了Web服务请求的代码,并编写了一个非常简单的代码,它也不会改变任何东西——例如,代码可以工作

我在论坛上看到了一个类似的问题:[http://stackoverflow.com/questions/908748/how-do-i-sign-a-java-applet-for-use-in-a-browser][1] 当前位置他似乎也有同样的问题,并解决了它。他说问题在于我的jar文件的编译方式与我引用类文件的编译方式不同。但我不知道如何才能改变这一点,如果这是我成为Java初学者的原因的话

我应该把证书文件放在一个特定的文件夹中吗

非常感谢您的帮助。

使用archive参数时,代码库指的不是浏览器不需要的未打包类文件的位置,而是归档文件的位置。问题是,HTML文件相对于JAR文件在哪里。例如,假设HTML文件位于父目录中。然后你可以这样写:

<applet codebase="lib/" code="Test.class" height="80" width="300" 
hspace="10" vspace="10" name="Test" archive="sMyJar.jar"></applet>

另外,我知道您提到了这是一个测试,但是我可以从艰苦的经验告诉您,在Java中使用默认包是一个非常糟糕的主意。我强烈建议你不要那样做。

谢谢你,这就是问题所在!谢谢你对默认软件包的建议-你完全正确,在你告诉我之前我不知道它是什么,现在我知道了。。并且不会使用默认值。