gpt4 book ai didi

java - 如何让 java applet 在浏览器中运行?

转载 作者:行者123 更新时间:2023-12-01 05:43:30 40 4
gpt4 key购买 nike

我用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 文件,我将其放入文件夹 lib 中。我的小程序有一个类 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 服务的请求的代码,并且编写了非常简单的代码,它也不会改变任何内容 - 除了代码可以工作(例如显示“hello world”)。

我在论坛上看到过类似的问题:[http://stackoverflow.com/questions/908748/how-do-i-sign-a-java-applet-for-use-in-a-browser] [1] :他似乎也有同样的问题,并解决了它。他说“问题是我的 jar 文件没有按照我引用类文件的方式进行编译”。但我不知道如何改变它,以及是否是原因(我是 Java 的初学者)。

我应该将证书文件放在特定文件夹中吗?

非常感谢您的帮助。

最佳答案

当您使用 archive 参数时,codebase 不是指未打包的类文件(浏览器不需要)的位置,而是指文件。问题是,您的 HTML 文件相对于 JAR 文件在哪里。例如,假设 HTML 文件位于父目录中。那么你可以这样写:

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

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

关于java - 如何让 java applet 在浏览器中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6493808/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com