JNLP文件具体说明编辑
JNLP文件具体说明编辑
JNLP部署应用编辑
补充编辑
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:供应商;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> <!-- <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> <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 )(转)
最新文章
- ORA-12154:TNS:无法解析指定的连接标识符
- Windows无线网“无法连接到这个网络”的解决办法
- Java 获取当前系统时间方法比较
- MySql的like语句中的通配符:百分号、下划线和escape
- PHP-Fcgi下PHP的执行时间设置方法
- Sqlite官方下载对应版本注意细节
- Width vs Pitch
- ActionBar点击弹出下拉框操作
- DataTable填补了实体类返回泛型集合
- hdu 1068
- 自学Zabbix3.10.1.3-事件通知Notifications upon events-媒介类型Jabber
- JavaScript实现段落文本高亮
- _ZNote_Window_技巧_删除开机启动项
- ZOJ 3846 GCD Reduce//水啊水啊水啊水
- C#operator作用
- linux 斜杠/
- JSch远程执行脚本
- IDEA 工具下导出文件及文件的目录结构插件
- jquery里操作json相关的方法和实例
- 【BioCode】删除未算出PSSM与SS的蛋白质序列