`
henry406
  • 浏览: 115795 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

轻松部署Java Web Start

    博客分类:
  • java
阅读更多

  Java Web Start(以下简称JWS)是SUN提供的一种通过Web来部署和发布Java 程序的新技术,它既可以用来发布Application,也可以用来发布Applet,它获去年全球Java技术最佳创意奖。它仅在第一次运行时下载程序,以后的事情,就全全交给JWS,包括版本的自动更新和维护。这是我们曾经梦寐以求的事情,程序运行在客户端(本地运行,当然有足够的速度),但不用去安装配置客户端,也不用去考虑版本升级后对客户端的维护,这就是JWS提供给我们的好处之一。OK,下面我们就来看看如何玩转JWS,本文仅用发布Application来做说明。

系统环境:Win2000Professional+Tomcat3.2.1+JDK1.3。

一:JWS简介

JWS主要用来通过网络部署你的应用程序,它具有安全、稳定、易维护、易使用的特点。用户访问用JWS部署应用程序的站点,下载发布的应用程序,既可以在线运行,也可以通过JWS的客户端离线运行已下载的应用程序。对同一个应用程序,在第一次运行时下载,以后每次运行时,JWS的客户端会自动去探测是否有版本更新,有更新就自动下载新版本,没有更新就直接运行本地当前版本,所有的麻烦全由JWS去承担。好,下面我们就一步一步来搭建JWS

二:搭建支持JWS的Web站点

第一步:你的Tomcat3.2.1已经正常运转

第二步:找到TomcatHOME/conf下的web.xml文件,在其中添加

application/x-java-jnlp-file


以支持JNLP文件。

三:部署应用程序

第一步:开发你希望发布的应用程序

第二步:把应用程序及所用到的所有资源打成一个或多个jar包

第三步:如果你的应用程序不会用到任何运行这个应用程序的机器的本地资源,那么,你的应用程序就可以部署了。

第四步:如果你的应用程序用到了运行这个应用程序的机器的本地资源,那么,你的应用程序就必须先签名然后才可以发布。

第五步:如何给应用程序签名

1:首先确保你已经完全安装了Java2的环境,有keytool工具,它位于J2SE SDk的bin目录下。这一般不会有问题。

2:到Dos状态下,进入你需发布应用程序的jar包所在的目录,运行下面这句话

keytool -genkey -keystore myKeystore -alias jwstest

它将会提示你输入用户名、密码等,不用理它,按照提示随便输入即可,但一定要记住密码。运行结束它将会在当前路径下创建名为myKeystore的文件。

3:如果你想察看一下刚才生成的myKeystore文件的内容,可以使用下面这句话:

keytool -list -keystore myKeystore

显示出来应该类似如下:

Keystore type: jks

Keystore provider: SUN

Your keystore contains 1 entry:

jwstest, Tue Nov 23 19:29:32 PST 2001, keyEntry,

Certificate fingerprint (Test):

C3:A9:CD:F3:D3:AC:4D:3F:3C:5B:AF:9E:CF:0D:46:5C

4:对你需发布应用程序的jar包进行签名,运行下面这句话:

jarsigner -keystore myKeystore yourtest.jar jwstest

其中yourtest.jar是你的jar包名,你需要修改它,别的就不必修改了。运行时会提示你输入密码,就是你刚才在生成myKeystore文件时设定的密码。

第六步:部署应用程序的jar包。

1:在Tomcat的webapps中新建目录JWSTest

2:在JWSTest下新建目录apps,META-INF,WEB-INF

3:在apps下新建目录images和lib

4:在META-INF中拷入MANIFEST.MF

5:在WEB-INF中拷入web.xml

6:把已经准备好的jar包拷入lib目录下

四:Jsp页面

第一步:编写用于Web访问的页面index.jsp如下:










第二步:在jsp中添加检测访问的客户端是否已经安装了JWS的客户端的代码,示例如下:












五:JNLP文件

第一步:下面我们来编写JWS的核心配置文件JNLP,有了它,才能将以上各部分联系起来,真正让JWS运转起来。JNLP文件符合标准的XML语法,实质就是一个XML文件。当然,编写它的最好方式是对已写好的JNLP进行改写。JWSTest.jnlp示例如下:



spec="1.0+"

codebase="http://你的IP:8080/JWSTest/apps"

href=" JWSTest.jnlp">



YOUR Name


JWS Test













第二步:部分JNLP的关键语法

元素

spec:必须是1.0及以上版本,这里用1.0+,不需修改。

codebase:资源的URL,是JNLP指向各连接的起始处,需自行修改。

Href:JNLP文件相对codebase的存放位置,和JNLP文件的全名,需自行修改。

元素

Title:发布的应用程序简单标题,需自行修改。

Vendor:发行商信息,可以写上你的大名,需自行修改。

Homepage:存放有关应用程序的相关文档的URL,如help文件等,可有可无。

Description:对应用程序的描述,可以有多对,可有可无。

Icon:用户下载你的应用程序后,在JWS里显示的图标的URL,应是gif或jpeg格式。需自行修改。

Offline-allowed:选择项,允许用户离线运行应用程序,一般都会有,不用修改。

元素

选择项,如果没有指明,默认是不允许应用程序访问用户的本地资源,即应用程序是沙箱运行。

如果设定为,则表示允许应用程序访问用户的本地资源。一般都会设定此值。

元素



元素

main-class:应用程序运行启动的主类

:应用程序运行时的参数,可以有多个,每一个参数用一对参数。

至此,你已经完全构建了运转JWS的各部件。

六:完整发布和测试

前面我们已经准备好了需发布的应用程序的jar包,也写好了用来访问的jsp文件和服务器端的核心jnlp文件。

第一步:在JWSTest下新建目录jsp。把index.jsp拷入jsp目录。

第二步:把jnlp文件直接拷入apps目录下。

第三步:在浏览器里输入:http://localhost:8080/JWSTest/jsp/index.jsp 即可访问到jsp页面。页面应出现JWSTest字样。

第四步:点击JWSTest,连接到apps下的JWSTest.jnlp文件,JWS启动,开始下载你发布的应用程序。

第五步:下载完毕,直接运行即可。以后,你也可以直接运行JWS客户端里已下载的应用程序。

不出意外,应恭喜你已经开始享受JWS带来的乐趣了。

七:常见问题

通过上面的讲述,你一定能体会到JWS的易用性。或许事情并没有那么简单,以我的使用经验,还会有许多问题出现,在这里挑几个经常出现的问题,给出相应解决方法,让大家少走弯路,而享受更多的乐趣。

问题一:JWS不能运行,JNLP文件像普通XML文件一样显示在Browser里

解决办法:请修改tomcat里,发布程序的路径中的web.xml。

在其中添加

application/x-java-jnlp-file


以支持JNLP文件。

问题二:不能下载资源或下载资源失败

解决办法:请卸载JWS的客户端,并将注册表里有关JWS的项目都删除,并确保program Files下的Java Web Start目录已被删除,然后,重装JWS。

问题三:下载资源中有未签名文件

解决办法:1:确保所有的jar包及其他资源都进行过签名。

2:确保整个资源中,没有中文的命名。好像签名工具不支持中文命名的文件名,所以未签到名。这可让我郁闷了一下午哦。

3:察看已经签名的jar包中,meta-inf路径下的jwstest.sf(jwstest是你在进行签名时-alias后的命名)文件,他详细的列出了所有已签名的文件,以分析签名失败的原因。

 

分享到:
评论

相关推荐

    Java Web Start .txt

    Java Web Start 是一种由 Sun Microsystems 开发的技术,用于在客户端机器上方便地部署、启动和更新基于 Java 的应用程序。这项技术结合了 Applet 的可移植性、Servlet 和 JSP 的可维护性,以及类似 XML 和 HTML 的...

    深入探索Java Web Start:简化Java应用部署与更新

    Java Web Start,也称为Java Network Launch ...通过本文的详细介绍,读者应该能够理解Java Web Start的工作原理,掌握创建和部署Java Web Start应用程序的方法,并能够应用这些知识来简化Java应用的部署和更新。

    Java Web Start

    对于初学者来说,理解Java Web Start的关键在于学习如何编写JNLP文件,配置应用程序的资源,以及如何在服务器上部署。"Java Web Start入门基础教程.pdf"这个文档应该会详细讲解这些内容,包括JNLP文件的结构、如何...

    利用 Java Web Start发布你用java程序

    Java Web Start(简称 JWS)是 Sun Microsystems(现 Oracle)为解决 Java 应用程序部署和更新问题而开发的一项技术。它是 JSR-56 规范的一部分,旨在提供一种简便的方法来发布和维护在客户端 JVM 上运行的 Java ...

    Deploying Java Web Start Applications on the JBoss Application Server

    ### 部署Java Web Start应用程序到JBoss应用服务器 #### 概述 本文将详细介绍如何在JBoss应用服务器上部署Java Web Start应用程序,并利用Java Web Start技术实现客户端图形用户界面(GUI)的自动更新。Java Web ...

    java web start

    总的来说,Java Web Start曾经是Java应用程序部署的一种便捷方式,但由于技术和安全环境的变化,现在已经不再推荐使用。开发者和用户转向了其他替代方案,如HTML5、WebAssembly和现代的云应用模型,这些都提供了类似...

    创建与部署Java Web Start的步骤

    (1)本资源为Head First Java(第二版)的第17章chap17(本章在官网资源代码中没有这个代码,且书中描述模糊)为初学者打开门窗; (2)本资源根据书中例子,查询网上资料,自己总结,验证过可行,若不可行看自己搭建...

    java web start教程

    Java Web Start(JWS)是SUN公司推出的一项技术,用于通过Web来部署和发布Java应用程序,无论是Application还是Applet。这项技术在初次运行时会下载程序,之后的版本更新和维护都由JWS自动处理,极大地简化了客户端...

    用java web start来发布jbpm(三)

    Java Web Start(JWS)是Java平台上的一种技术,用于便捷地部署和运行基于网络的Java应用程序。它允许用户通过点击Web浏览器中的链接来启动和更新应用程序,而无需手动下载和安装。在本篇博客“用java web start来...

    Using Java Web Start with Oracle E-Business Suite (Doc ID 2188898.1)

    Java Web Start提供了一种浏览器独立架构,用于将基于Java技术的应用程序部署到客户端桌面。通过Java Web Start,用户只需点击网页中的链接即可启动Java应用程序。该链接指向一个Java Network Launch Protocol (JNLP...

    LIFERAY + JAVA WEB START + OSWORKFLOW设计器

    【LIFERAY + JAVA WEB START + OSWORKFLOW设计器】是一个结合了三个关键技术的集成解决方案,用于在Liferay门户平台上构建和管理工作流。Liferay是一个开源的企业级门户平台,提供了一整套内容管理系统、社交协作...

    基于Java Web Start技术的电网培训考核系统.pdf

    - **便捷部署**:Java Web Start使得电网公司的培训考核系统能够实现即点即用,用户不再需要下载安装包,通过Web浏览器即可启动软件,简化了软件的分发和更新过程。 - **自动更新**:当服务器端的软件版本更新时...

    JWS java web start

    总的来说,Java Web Start为开发者提供了一种高效、灵活的工具,使得Java应用程序能够轻松地通过Web分发和更新,同时也为用户带来了方便快捷的使用体验。随着Java技术的发展,JWS成为了企业级应用部署的重要选择,...

    基于JAVA WEB START的污染源在线监测系统研究.pdf

    JAVA WEB START(JWS)是一种基于Java的应用程序部署技术,由SUN公司开发,包含了applet的可移植性、Servlet和Java ServerPages的可维护性,以及类似XML和HTML标记语言的简易性。JWS技术的优点包括: 1. 支持脱机...

    webstart

    "学会怎么用WebStart部署应用程序.doc"和"WebStart入门基础教程.doc"是两份学习资料,分别涵盖了WebStart的部署方法和基础教程,对于想要掌握WebStart技术的开发者来说,这两份文档提供了宝贵的实践指导。...

    tomcat 部署java项目 jar

    标题中的“tomcat部署java项目jar”指的是在Apache Tomcat服务器上部署Java Web应用程序,通常以JAR(Java Archive)格式打包。Tomcat是一个开源的轻量级应用服务器,主要用于运行Servlet和JSP(JavaServer Pages)...

Global site tag (gtag.js) - Google Analytics