博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在网页中发布WorldWind Applet程序遇到的问题
阅读量:6647 次
发布时间:2019-06-25

本文共 1790 字,大约阅读时间需要 5 分钟。

hot3.png

        最近由于客户要求,需要一个三维效果进行一些功能的展示所以用到了WorldWind。由于之前对Applet不是很了解,中间遇到了很多让人不解的问题,经过反复的折腾总算是在页面中把WorldWind加载了出来,下面说说我的操作步骤和遇到的问题。

        1.我首先写了一个Applet小程序并打成jar包,其实就是用于显示WW的地球。然后用Eclipse 运行Applet程序,查看效果没有问题。但是放到工程中用Tomcat发布以后就出来了第一个问题报错没有签名。于是乎google,查到找了签名的最简单方法。

        先是创建签名密匙证书,用cmd打开命令行,输入下面的命令:

        keytool -genkey -alias Test -validity 3650

        这个命令的的意思是  使用 keytool 工具创建签名密匙证书   

        -genkey 参数表示是创建操作

        -alias 参数表示 给这个证书取一个别名  我这里用的别名是 Test

        -validity 参数表示的是这个证书的有效期  我这里用3650 表示 十年。

         这个命令执行后会提示属于一些证书的相关信息,如密码,单位,之类的按自己的情况填写即可。

        然后用这个证书给我的jar进行签名,使用如下命令:

        jarsigner WWJApplet.jar Test

        这个命令的意思是,使用jarsigner命令为一个jar文件签名,

        第一个参数 WWJApplet.jar 指的是我要签名的jar文件的名字,第二个参数 Test指的是我刚刚创建的证书的别名。

        2.编写JNLP文件,具体格式可以google一下我不做太多说明(其实我也不是特别清楚,只是看了一下Oracle的官方文档,但是有些参数还是不太清楚),我这里把我得JNLP文件贴在这里。

MyApplet
测试

        这里需要注意的地方就是,第二个resources节点中 jar节点引用的四个jar包,其中MyApplet.jar是我自己写的Applet文件打成的jar包,另外三个是WW需要引用的三个jar包。这里重点说明一下,由于worldwind下载以后会有一个worldwind.jar文件,但是这里我用的不是这个jar,而是我根据WW源码自己打包的。就是为了能够自己签名,因为自带的worldwind.jar包文件已经被签名了,如果自己重新签名发布会有问题。另外两个jar包也使用刚刚创建的密匙文件进行签名。

        然后把jar文件和html页面放入到工程根目录,如下(也可以根据自己的需要随意放置):

        3.具体的html代码如下图:

然后启动tomcat就可以查看到效果。

在做这个例子的时候我遇到了三个问题,

1.签名的问题。

当时参考了这个博客 

2.jar引用不到的问题。

在网上看到很多例子里边都是把applet中引用的jar包写在html applet标签的 archive属性中,但是不知道为什么我这么写就一直是引用不到,很费解。

具体写法就是这样 

3.就是从nasa下载的worldwind.jar包签名问题,使用源码自己打包重新签名就可以了。

说来惭愧,第一次写博客可能有说的不清楚明白的地方请见谅,如果有朋友也遇到类似的问题可以@我。

顺便说一句,applet 标签中的 codebase 的内容不是相对于工程的而是相对于当前文件的(html).

转载于:https://my.oschina.net/zhanghongbin/blog/141803

你可能感兴趣的文章