这是关于SUN的Java Web Start的简要说明
“ Java Web Start是一种通过标准Web服务器交付程序的机制。 通常将这些程序通过浏览器启动,然后将它们部署到客户端并在浏览器范围之外执行。 程序一旦部署,就无需再次下载,它们可以在启动时自动下载更新,而无需用户再次经历整个安装过程。”
本教程向您展示如何创建Java Web Start(Jnlp)文件供用户下载,当用户单击下载的jnlp文件时,启动一个简单的AWT程序。 这是摘要步骤:
- 创建一个简单的AWT程序并将其命名为TestJnlp.jar
- 将密钥库添加到TestJnlp.jar
- 创建一个Jnlp文件
- 全部放入Tomcat文件夹
- 通过http:// localhost:8080 / Test.Jnlp从Web访问TestJnlp.jar
好,开始吧
1.安装JDk和Tomcat
安装1.5和Tomcat之上的Java JDK / JRE版本。
2.目录结构
此示例的目录结构。
3. AWT + Jnlp
请参阅TestJnlp.java
的内容,它只是一个支持AWT的简单AWT程序。
package com.mkyong;
import java.awt.*;
import javax.swing.*;
import java.net.*;
import javax.jnlp.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class TestJnlp {
static BasicService basicService = null;
public static void main(String args[]) {
JFrame frame = new JFrame("Mkyong Jnlp UnOfficial Guide");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel();
Container content = frame.getContentPane();
content.add(label, BorderLayout.CENTER);
String message = "Jnln Hello Word";
label.setText(message);
try {
basicService = (BasicService)
ServiceManager.lookup("javax.jnlp.BasicService");
} catch (UnavailableServiceException e) {
System.err.println("Lookup failed: " + e);
}
JButton button = new JButton("http://www.mkyong.com");
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
try {
URL url = new URL(actionEvent.getActionCommand());
basicService.showDocument(url);
} catch (MalformedURLException ignored) {
}
}
};
button.addActionListener(listener);
content.add(button, BorderLayout.SOUTH);
frame.pack();
frame.show();
}
}
PS如果为“ import javax.jnlp。*;” 找不到,请包括位于JRE / lib / javaws.jar的 jnlp库。
4.罐子
在命令提示符下找到Java的classes文件夹并使用以下命令将其保存
jar -cf TestJnlp.jar *.*
这会将所有Java类打包到一个名为“ TestJnlp.jar ”的新jar文件中。
5.创建密钥库
添加一个名为“ testkeys”的新密钥库
keytool -genkey -keystore testKeys -alias jdc
它将要求输入密钥库密码,名字,姓氏,组织单位等。只需填写所有内容。
6.将密钥库分配给Jar文件
将新的密钥库“ testkeys ”附加到您的“ TestJnlp.jar ”文件中
jarsigner -keystore testKeys TestJnlp.jar jdc
它将询问您新创建的密钥库的密码
7.部署JAR
将您的“ TestJnlp.jar ”复制到Tomcat的默认Web服务器文件夹,例如,在Windows中-C:\ Program Files \ Apache \ Tomcat 6.0 \ webapps \ ROOT 。
8.创建JNLP文件
像这样创建一个新的Test.jnlp文件
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/" href="Test.jnlp">
<information>
<title>Jnlp Testing</title>
<vendor>YONG MOOK KIM</vendor>
<homepage href="http://localhost:8080/" />
<description>Testing Testing</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" />
<jar href="TestJnlp.jar" />
</resources>
<application-desc main-class="com.mkyong.TestJnlp" />
</jnlp>
9.部署JNLP文件
也将Test.jnlp复制到您的tomcat默认Web服务器文件夹中。
C:\Program Files\Apache\Tomcat 6.0\webapps\ROOT
10.启动Tomcat
C:\Tomcat folder\bin\tomcat6.exe
11.测试
访问URL http:// localhost:8080 / Test.jnlp ,它将提示您下载Test.jnlp文件,只需接受并双击它即可。
如果一切顺利,您应该看到以下输出
单击“运行”按钮以启动AWT程序。
注意
如果jnlp没有响应,则将以下代码放入位于Tomcat conf文件夹中的web.xml中。<mime-mapping> <extension>jnlp</extension> <mime-type>application/x-java-jnlp-file</mime-type> </mime-mapping>
翻译自: https://mkyong.com/java/java-web-start-jnlp-tutorial-unofficial-guide/