JNLP(Java Network Launching Protocol )是java提供的一种可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序。
Java桌面应用程序以JNLP 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更新服务器的版本,这就相当于让java应用程序有了web应用的优点。

JNLP文件具体说明编辑

<?xml version="1.0" encoding="UTF-8"?>
<!--codebase 属性指出搜索应用程序资源的顶级URL,下面的icon/jar元素都是以这个URL为基本.-->
<jnlp codebase="http://127.0.0.1:8081/webstart">
<information>
<!-- 在"开始"-"运行"菜单中输入"javaws"或"javaws -viewer"启动Web Start,会看到客户端已经安装的webstart应用程序-->
<!--title :应用程序标题 vendor:供应商
title/vendor 元素必须,会显示在用"javaws -viewer"命令
打开的应用程序缓存查看器(Java Application Cache Viewer)中-->
<title>HelloWorld</title>
<vendor>Lively Corporation</vendor>
<description>HelloWorld Test Example for WebStart.</description>
<!--homepage :存放有关应用程序的相关文档的URL,如help文件等,仅仅是description作用-->
<homepage href="http://127.0.0.1:8081/webstart/index.html"/>
<!--icon 指定图标会显示在应用程序缓存查看器中,
在查看器中新建webstart快捷方式到桌面时也会显示为快捷方式图标,
只支持GIF/JPEG格式,其它格式无效-->
<icon href="./images/logo.jpg"/>
<!--splash 在sun的文档中提到会出现在webstart启动时的闪屏中,不过可能由于速度问题,我没有观察到-->
<icon kind="splash" href="./images/logo.jpg"/>
<!-- 允许离线启动,可以使用javaws -offline命令-->
<offline-allowed/>
</information>
<resources>
<!-- 指定客户端需要安装的j2se版本,下面指定为1.5+,
如果版本是1.4,在链接此jnlp文件时会提示更新j2se版本-->
<j2se version="1.5+"/>
<!-- 指定要下载到本地的jar文件(注意,所有的文件都需要打包才能够下载),
可以包含一些资源文件,如icons/configuration files,可以使用getResource方法取得-->
<jar href="./jar/jws/helloworld.jar"/>
</resources>
<!--application-desc 必须,指定webstart启动时执行jar文件中的哪个类-->
<application-desc main-class="jws.HelloWorld"/>
</jnlp>

JNLP部署应用编辑

(1)编写相关应用,打包成一系列jar;
(2)根据jnlp文件说明修改相应的jnlp内容,修改相应的url和jar;
(3)部署jnlp文件和jar到相应的web容器;
(4)编写访问网页,即可使用该应用〔亦可下载jnlp文件使用jws运行应用〕;

补充编辑

如果jar需要访问本地文件资源,需要为你的jar文件签名
先在命令行用keytool产生一个keystore文件:
keytool -genkey -keystore you.keystore –alias youApp
命令行用jarsigner签名,当然这时候需要生成keystore时的密码:
jarsigner -keystore you.keystore appTest.jar youApp
重新部署即可。

http://baike.baidu.com/link?url=wt-uXbvZdkzVSZRDXEBEAo5ZcFuOmleD2DnNrZ2aIcC08_3RS3YCAuzR6AwDuLu6wlVYa9pBixDSysT0RIw5hq

1.Java Web Start简介 
Java Web Start是帮助客户机端应用程序开发的一个新技术,该技术的独特之处在于将你关心客户机是如何启动(从Web浏览器或是桌面)中解放出来。并且,该技术提供了一个使Web服务器能独立发布和更新客户机代码的集合部署方案。 
Java
Web Start是一个软件技术,它包含了applet的可移植性、Servlet和Java Server
Pages(JSP)的可维护性以及象XML和HTML这样的标记语言的简易性。它是基于Java的应用程序,允许从标准的Web服务器启动、部署和更新功能完成的Java
2客户机应用程序。 
Java Web
Start自身是一个Java应用程序,所以该软件是平台独立的,并且支持Java2平台的任何客户机系统都支持该软件。当客户机应用程序启动时,Java
Web Start自动执行更新,在从原来的高速缓存装入应用程序的同时,从Web下载罪行的版本。Java Web
Start还提供了一个Java应用程序管理器(Java Application
Manager)实用程序,即提供了多种选项,如清除下载的应用程序的高速缓存、指定多种JRE的使用,设置HTTP代理、还允许最终用户组织他们的Java应用程序。 
Java Web Start站点: 
http://java.sun.com/javase/technologies/desktop/javawebstart/index.jsp 
JNPL规范:http://jcp.org/en/jsr/detail?id=056

2.JNLP简介 
JNLP(全称Java Network Launch Protocol)意为Java网络装载协议。JNLP是一为Java Web Start应用程序提供基本的元素和描述的XML文件。JNLP是Java Web Start的核心。 
JNLP应用程序能使应用程序像标准的JAVA

Applet一样通过WEB浏览器访问,并且在客户机主机上JNLP可以限制为一个安全的“沙箱(sandbox)”.不像Applets,JNLP应用程序不运行的客户的浏览器内部;相反,WEB浏览器只作为应用程序的一个起点或安装工具。 
JAVA桌面应用程序以JNLP 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更新服务器的版本,这就相当于让java应用程序有了web应用的优点。

3.实例应用 
1.搭建Web服务器 
a)Tomcat正常运行。 
b)找到TomcatHOME/conf下的web.xml文件,在其中添加application/x-java-jnlp-file以便支持JNLP文件;如下图所示:

2.部署应用程序 
a)开发应用程序。 
b)将应用程序以及资源文件打成一个或多个Jar包。 
c)如果应用程序用到了运行这个应用程序的本地资源,那么你的应用程序就必须先签名然后才可以发布;如果不需要用到本地资源,到这一步就可以发布应用程序。 
d)怎样给应用程序签名: 
i.首先确保你已经安全安装了J2se的环境,还有keytool工具,它位于J2SE SDK的bin目录下;如下图所示:

ii.到DOS状态下,进入你需要发布应用程的jar包所在的目录,运行下面这句话keytool
–genkey –keystore myKeystore –alias jwstest
它将会提示你输入用户名、密码等,不用理睬它,按照提示随便输入即可,但一定要记住密码。运行结束它将会在当前路径下创建名为myKeystore的文件。如下图所示:

iii.如果你想察看一下刚才生成的myKeystore文件的内容,可以输入这局话keytool –list -keystore myKeystore,再输入密码: 
显示结果如下图所示:

iv.对你需要发布应用程序的jar包进行签名,运行这句话:Jarsigner
–keystore myKeystore yourtest.jar
jwstest,其中yourtest.jar是你的jar包名,你需要修改它,别的就不必修改了。运行时会提示你输入密码,就是你刚才生成myKeystore文件时设定的密码。如下图所示:

e)部署应用程序,将已经经过签名的jar包拷入web工程的目录下(注意:不能拷贝到WEB-INF目录下)。

3.JNLP文件介绍 
a)编写Java Web Start的核心配置文件JNLP。JNLP文件符合标准的XML语法,也就是说JNLP就是一个XML文件。编写的最好方式还是修改已有的JNLP文件。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="UTF-8"?> 
<!-- jnlp spec必须是1.0以上版本,次数用的是1.0+; 
 codebase 属性指出搜索应用程序资源的顶级URL。 
 href 属性设置是为了让应用程序并入 Java Web Start 应用程序管理器--> 
<jnlp spec="1.0+" codebase="http://localhost:8081/NetJavaProject" href="jwspalette.jnlp"
<!--
information 标记(如 title、vendor 等)用于提供来自 Java Web Start
应用程序管理器的关于应用程序的附加信息。 homepage ref 属性是专门用于指向 Web URL
从而用户可以去提供了关于应用程序的更多的信息的 Web 页面。最有趣的 information 标记是 offline-allowed
属性;该属性决定了客户机 Java 应用程序是否能离线启动。当离线运行客户机 Java 应用程序时,Java Web Start 将继续判定来自
Web 服务器的最新的文件;在多数情况下,这个方案将引起快速的超时(因为位置被指定要离线启动),并且应用程序从本地高速缓存启动 --> 
    <information> 
<!--title :应用程序标题 vendor:供应商;title/vendor元素必须,会显示在”javaws  -viewer”命令打开的应用程序缓存查看器(Java Application Cache Viewer)中 --> 
        <title>NetJava Application </title> 
        <vendor>NetJava</vendor> 
<!—description:对应用程序的描述,可以有多对<description> </description>,可有可无的 --> 
        <description>NetJava Application </description> 
<!--offline-allowed:选择项,允许离线启动,可以使用javaws –offine命令 --> 
        <offline-allowed/> 
    </information> 
<!--
resource 标记考虑到 JNLP 文件指定应用程序使用哪些 JAR 文件和如何下载 JAR
文件;即,是急切的还是不紧不慢的。这个特性在当用户要下载大量的文件而对用户来说不是所有的文件都是客户机执行所需要的时是非常有帮助的。缺省的,多数资源是急切的下载的,在这样情况下,JAR
文件和资源在应用程序启动前被下载。不紧不慢的下载的资源只有当 Java
虚拟机(JVM)触发从应用程序载入资源或文件时才被下载。不紧不慢的下载资源的一个示例是客户机的帮助文件;考虑到了客户机的更快的启动和执行,只有在用户实际上向客户机请求帮助文件时,才会下载这些文件。然而,一旦用户请求了一个帮助文件,在请求过程中适当的
JAR 就会被下载,并伴有一个通知用户大致的下载时间的窗口 --> 
         <resources> 
<!—指定客户端需要安装的j2se版本,下面指定为1.6+,如果版本是1.4,在连接此JNLP文件时会提示更新J2se版本 --> 
        <j2se version="1.6+"/> 
<!—指定要下载到本地的jar文件(注意:所有的文件都需要打包才能够下载),可以包含一些资源文件,如icons/configuration files,但是都必须使用类的getResource()方法获取 --> 
        <jar href="palette.jar"/> 
    </resources> 
<!--指定操作系统以及jdk版本--> 
    <resources os="Windows"
        <j2se version="1.6+"/> 
    </resources> 
<!—Application-desc必须,指定Web Start启动时执行jar文件中的哪个类 --> 
    <application-desc main-class="cn.netjava.palette.Palette"/> 
<!--
security 属性。缺省的,任何从 Java Web Start 客户机启动的 Java
应用程序在一个安全的、受限制的环境执行,该环境中不允许进行本地文件访问、与其它计算机的网络连接等等。然而,对于要对客户机和网络可以完全访问的特性丰富的客户机来说,
all-permissions 值是用于给予客户机完全访问的权限的。为具有对本地机的完全访问,Java 应用程序所使用和装入的所有 JAR
文件和资源必须被数字签名 --> 
    <security> 
        <all-permissions/> 
    </security> 
</jnlp>

4.JSP页面 
编写用于访问的页面如下:(index.jsp)

5.完成发布和测试 
首先WEB将项目打包成war的包;再将war包拷贝到Tomcat目录下的webapps目录中 
,并启动Tomcat。测试的访问路径是http://localhost:8080/NetJavaProject/index.jsp 。这样我们就能将Swing Application项目发布到互联网上了。当然还有很多的细节问题,期待你们将细节修改好……

JNLP参考资料: 
http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/contents.html 
http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html

http://convolute.iteye.com/blog/564904

JNLP文件怎么打开:

首先要确定你已经装好了jre
改好了环境变量
然后,开始——运行——cmd
javaws D:\××××\××××\××××.jnlp
如果你的jre装的没有问题,那你的屏幕上就应该出现了java程序,并开始下载啦 转载:JNLP(Java Web Start )(转)

JNLP文件具体说明编辑的更多相关文章

  1. OpenSUSE Leap 42.3下通过Firefox Opera Chromium浏览器直接执行java应用程序(打开java jnlp文件)实现在服务器远程虚拟控制台完成远程管理的方法

    远程虚拟控制台依赖于java运行环境(jre),在通过浏览器打开链接前,系统必须安装jre环境,远程管理控制台其实就是一个java程序,打开相应的网站会下载一个jnlp(java网络加载协议)的文件, ...

  2. Linux下Firefox打开文件jnlp文件

    ubuntu(linux)打开jnlp文件 咘咘 2019-05-20 15:12:48 1331 收藏展开 前提条件是安装有java环境.whereis java 查看自己java安装目录.本人是在 ...

  3. [java] JNLP文件安装

    JNLP(Java Network Launching Protocol )是java提供的一种可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应 ...

  4. 怎样在 fedora 28 上 打开 .jnlp 文件

    最近使用 iDrac 和 iLO 总是会使用到 .jnlp 文件, 为了方便,今天把设置过程记录下来. JNLP 文件,全名为 Java Network Launching Protocol 文件, ...

  5. 利用HttpWebRequest模拟表单提交 JQuery 的一个轻量级 Guid 字符串拓展插件. 轻量级Config文件AppSettings节点编辑帮助类

    利用HttpWebRequest模拟表单提交   1 using System; 2 using System.Collections.Specialized; 3 using System.IO; ...

  6. Ubuntu下通过Firefox Opera Chromium浏览器直接执行java应用程序(打开java jnlp文件)实现在服务器远程虚拟控制台完成远程管理的方法

    远程虚拟控制台依赖于java运行环境(jre),在通过浏览器打开链接前,系统必须安装jre环境,远程管理控制台其实就是一个java程序,打开相应的网站会下载一个jnlp(java网络加载协议)的文件, ...

  7. HDFS镜像文件fsimage和编辑日志文件edits

    镜像文件和编辑日志文件 1)概念 namenode被格式化之后,将在/opt/module/hadoop-2.7.2/data/tmp/dfs/name/current目录中产生如下文件 edits_ ...

  8. .jnlp 文件打开方式

    .jnlp 文件打开方式 jnlp文件打开需要安装jre ,java环境,通过java环境运行即可,下面介绍详细步骤 1.下载.安装最新版jre环境,直接下一步即可 2 java配置 打开控制面板,查 ...

  9. java 获取文件的最后编辑时间

    还是日志的问题,需要把日志文件的一些信息给显示出来,其中就需要显示最后的编辑时间,在网上找的答案... File f = new File(path); SimpleDateFormat sdf = ...

随机推荐

  1. 各版本JDK官方下载地址

    https://www.oracle.com/technetwork/java/archive-139210.html linux下JDK下载方法wget --no-check-certificate ...

  2. 如何让一个div居于页面正中间

    如何让一个div居于页面正中间 如何让一个div居于页面中间,我今天说的是让一个div水平居中同时垂直居中,而不是简单的top:50%,left:50%.当然,我们就按一开始的思路写一下:top,le ...

  3. 文献综述十八:基于SSH框架的进销存管理系统设计与实现

    一.基本信息 标题:基于SSH框架的进销存管理系统设计与实现 时间:2017 出版源:内蒙古科技与经济 文件分类:对框架的研究 二.研究背景 进销存管理系统在各企业中广泛应用,使用SSH框架,很大程度 ...

  4. SpringCloud---API网关服务---Spring Cloud Zuul

    1.概述 1.1 微服务架构出现的问题   及  解决: 1.1.1 前言 每个微服务应用都提供对外的Restful API服务,它通过F5.Nginx等网络设备或工具软件实现对各个微服务的路由与负载 ...

  5. DBA 需要掌握的知识框架及工作内容

    知识框架 1.  数据库的工作原理以及体系结构 2.  数据库管理(管理数据库和数据库对象) 3.  数据库备份和恢复 4.  数据库故障处理 5.  数据库补丁安装及升级 6.  数据库性能 工作内 ...

  6. haproxy 503 service unavailable no server is avaible to handle this request

    原因: haproxy 对server检测时是对默认页面进行检测,如果没有默认错误,则直接报503错误,不会转发到相应的server上去. 解决方法: 添加 option httpchk 检测页面位置 ...

  7. Java入门系列-25-NIO(实现非阻塞网络通信)

    还记得之前介绍NIO时对比传统IO的一大特点吗?就是NIO是非阻塞式的,这篇文章带大家来看一下非阻塞的网络操作. 补充:以数组的形式使用缓冲区 package testnio; import java ...

  8. GridView 基本使用

    项目中实例一 <asp:GridView ID="gvBatchReceive" runat="server" AutoGenerateColumns=& ...

  9. django基础一:web、wsgi、mvc、mtv

    一.web框架 web框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以快速开发特定的系统.他山之石,可以攻玉.python的所有web框架,都是对so ...

  10. 设计模式入门,命令模式,c++代码实现

    // test06.cpp : Defines the entry point for the console application.////设计模式第5章 命令模式#include "s ...