让worldwind以applet的行式运行在网页中
参考网页:http://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/embeddingJNLPFileInWebPage.html
注意:如果你的系统中原来配置的java环境是jdk1.6,请卸载后更换为jdk7。要worldwind能在网页中跑起来,必须配成jdk7。
1.完全理解如何在eclipse中配置worldwind的开发环境,保证示例程序可以正常运行。参考我的博客:http://www.cnblogs.com/jdksummer/articles/2644389.html
2.新建web工程,命名为MyWorldWind,配置好worldwind的库(参见步骤1)。
在工程中新建 applet类,内容如下(这是worldwind源码中的一个示例)。从下载的worldwind安装包中拷贝config文件夹到你的src目录下(config文件夹是worldwind应用程序读配
置文件的固定位置),以applet方式运行,确保能够正常运行。
WWJAppletMinimal.java
package com.summer.applet; import gov.nasa.worldwind.*; import gov.nasa.worldwind.avlist.AVKey; import gov.nasa.worldwind.awt.WorldWindowGLCanvas; import gov.nasa.worldwind.util.StatusBar; import javax.swing.*; import java.awt.*; public class WWJAppletMinimal extends JApplet { public WWJAppletMinimal() { } public void init() { try { // Create World Window canvas. WorldWindowGLCanvas wwd = new WorldWindowGLCanvas(); this.getContentPane().add(wwd, BorderLayout.CENTER); // Create the default model as defined in the current worldwind configuration file. wwd.setModel((Model) WorldWind.createConfigurationComponent(AVKey.MODEL_CLASS_NAME)); // Add the status bar, and forward events to the status bar to provide the cursor position info. StatusBar statusBar = new StatusBar(); statusBar.setEventSource(wwd); this.getContentPane().add(statusBar, BorderLayout.SOUTH); } catch (Throwable e) { e.printStackTrace(); } } public void stop() { // Shut down World Wind when the browser stops this Applet. WorldWind.shutDown(); } }
工程结构:

3. 修改MyWorldWind工程WebRoot/WEB-INF/web.xml,
在web-app元素内插入子元素,内容为:
<mime-mapping> <extension>jnlp</extension> <mime-type>application/x-java-jnlp-file</mime-type> </mime-mapping>
4.把applet类,打包成jar包
选中工程,右键-->export-->java-->runnable Jar File,点击next到了导出界面,按照下面格式填写,填写后,点击finish.

Launch Configuraton: 选择要导出的工程
Export Destination: 选择要导出的jar包的位置
Libary Handling: 经过我的测试,最好选择"Copy required libraries into a sub-folder next to the generated JAR" 。这个选项会把编译好的applet类的.class文件与config目录打包在
在一个jar包里(这是非常重要的,确保打包后的applet程序能找到config),就是上面的worldStreet.jar,而把工程中添加的其他依赖包单独放在一个文件夹。如下图所示:

进入jar包所在目录,双击运行jar或者命令行运行:java -jar worldStreet.jar,确定打包成功。
5.编写jnlp文件,确保jnlp文件可以运行。编写网页,确保格式正确,内容正确。详细内容请参考:http://www.cnblogs.com/jdksummer/articles/2661853.html
附件:worldStreet.jnlp, worldStreet.jsp 点击此处下载。
5.把worldStreet.jar及其所有依赖库所在文件夹worldStreetMap_lib, worldStreet.jnlp, worldStreet.jsp放到一个文件夹wwj中,把wwj拷贝到MyWorldWind工程的WebRoot目录下(即
tomcat服务器的根目录)。假设我的主机名为summer2,则我部署的服务器为 http://summer2:8080/MyWorldWind/ ,wwj直接位于服务器的根目录下,则可以通过网址
http://summer2:8080/MyWorldWind/wwj/worldStreet.jsp来访问完成的applet。
ok , applet版的worldwind配好了!
-------------------------------------------------------------------------------------------------------------------------
客户端须知:
服务器配好之后,如果某台电脑想要访问网页上的worldwind,也要在本机上安装java7,并且把worldwind的库文件放到本机的java.libary.path目录下。总结如下:
1. 下载安装jdk7.
2. 确定java.libary.path在本机上所指向的目录,经本人亲测,linux下 /usr/lib 可用,windows下C:/windows可用。如果为linux系统,把worldwind包中的libgluegen-rt.so,libjogl.so,
libjogl_awt.so,libjogl_cg.so四个文件拷贝到选中的java.libary.path目录;如果是windows系统,则拷贝gluegen-rt.dll,jogl.dll,jogl_awt.dll,jogl_cg.dll四个文件到选中的
java.libary.path目录。

浙公网安备 33010602011771号