`
silent.wong
  • 浏览: 14561 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
社区版块
存档分类
最新评论

[原创]Java Web Start 入门(二)

阅读更多
一.搭建支持JWS的Web站点
    1.你的Tomcat已经正常运转
    2.找到TomcatHOME/conf下的web.xml文件,在其中添加 application/x-java-jnlp-file 以支持JNLP文件.
 
二.部署应用程序
    1.开发你希望发布的应用程序
    2.把应用程序及所用到的所有资源打成一个或多个jar包
    3.如果你的应用程序不会用到任何运行这个应用程序的机器的本地资源,那么,你的应用程序就可以部署了。
    4.如果你的应用程序用到了运行这个应用程序的机器的本地资源,那么,你的应用程序就必须先签名然后才可以发布。
    5.如何给应用程序签名
        A.首先确保你已经完全安装了Java2的环境,有keytool工具,它位于J2SE SDk的bin目录下。这一般不会有问题。
        B.到Dos状态下,进入你需发布应用程序的jar包所在的目录,运行下面这句话
           keytool -genkey -keystore myKeystore -alias jwstest
           它将会提示你输入用户名、密码等,不用理它,按照提示随便输入即可,但一定要记住密码。运行结束它将会在当前路径下创建名为myKeystore的文件。
        C.如果你想察看一下刚才生成的myKeystore文件的内容,可以使用下面这句话,再输入密码:
           keytool -list -keystore myKeystore
           显示出来应该类似如下:                
              Keystore type: jks
              Keystore provider: SUN
              Your keystore contains 1 entry:
              jwstest, 2006-7-12, keyEntry,
              Certificate fingerprint (MD5): D7:CE:DD:5C:EC:78:92:B3:9E:51:88:A6:1E:4E:94:9C
        D.对你需发布应用程序的jar包进行签名,运行下面这句话:
           jarsigner -keystore myKeystore yourtest.jar jwstest
           其中yourtest.jar是你的jar包名,你需要修改它,别的就不必修改了。运行时会提示你输入密码,就是你刚才在生成myKeystore文件时设定的密码。
    6.部署应用程序。
        把已经经过签名的jar包拷入Web工程的目录下(注意:不能拷到WEB-INF目录下!)
 
三.JNLP文件
    1.下面我们来编写JWS的核心配置文件JNLP,有了它,才能将以上各部分联系起来,真正让JWS运转起来。JNLP文件符合标准的XML语法,实质就是一个XML文件。当然,编写它
的最好方式是对已写好的JNLP进行改写。JWSTest.jnlp示例如下:
xml 代码
  1. <!---->xml version="1.0" encoding="utf-8"?>  
  2.   
  3. <jnlp spec="1.0+" codebase="http://192.168.1.106:8000/jwsTest/" href="jwsTest.jnlp">  
  4.     <information>  
  5.         <title>JWS Testtitle>  
  6.         <vendor>Silent Wongvendor>  
  7.         <homepage href="http://silent" />  
  8.         <description>JWS Testdescription>  
  9.         <icon kind="png" href="eclipse48.png" />  
  10.         <offline-allowed />  
  11.     information>  
  12.     <security>  
  13.         <all-permissions />  
  14.     security>  
  15.        
  16.     <resources>  
  17.         <jar href="startup.jar" />  
  18.         <jar href="plugins/MyPlugin_1.0.0.jar" />  
  19.         <jar href="plugins/org.eclipse.core.commands_3.1.0.jar" />  
  20.         <jar href="plugins/org.eclipse.core.expressions_3.1.0.jar" />  
  21.         <jar href="plugins/org.eclipse.core.runtime_3.1.2.jar" />  
  22.         <jar href="plugins/org.eclipse.help_3.1.0.jar" />  
  23.         <jar href="plugins/org.eclipse.jface_3.1.1.jar" />  
  24.         <jar href="plugins/org.eclipse.osgi_3.1.2.jar" />  
  25.         <jar href="plugins/org.eclipse.swt.win32.win32.x86_3.1.2.jar" />  
  26.         <jar href="plugins/org.eclipse.swt_3.1.0.jar" />  
  27.         <jar href="plugins/org.eclipse.ui.workbench_3.1.2.jar" />  
  28.         <jar href="plugins/org.eclipse.ui_3.1.2.jar" />  
  29.            
  30.         <property name="eclipse.product" value="MyPlugin.MyPlugin"/>  
  31.            
  32.     resources>  
  33.        
  34.     <resources os="Mac">  
  35.         <j2se version="1.5+" java-vm-args="-XstartOnFirstThread"/>  
  36.     resources>  
  37.     <resources os="Windows">  
  38.         <j2se version="1.5+"/>  
  39.     resources>  
  40.     <resources os="Linux">  
  41.         <j2se version="1.5+"/>  
  42.     resources>  
  43.        
  44.     <application-desc main-class="org.eclipse.core.launcher.WebStartMain">  
  45.         <argument>-nosplashargument>  
  46.     application-desc>  
  47. jnlp>  

 


    2.部分JNLP的关键语法
        <jnlp>元素
            spec:必须是1.0及以上版本,这里用1.0+,不需修改。
            codebase:资源的URL,是JNLP指向各连接的起始处,需自行修改。
            Href:JNLP文件相对codebase的存放位置,和JNLP文件的全名,需自行修改。

        <infomation>元素
            Title:发布的应用程序简单标题,需自行修改。
            Vendor:发行商信息,可以写上你的大名,需自行修改。
            Homepage:存放有关应用程序的相关文档的URL,如help文件等,可有可无。
            Description:对应用程序的描述,可以有多对<description></description>,可有可无。
            Icon:用户下载你的应用程序后,在JWS里显示的图标的URL,应是gif或jpeg格式。需自行修改。
            Offline-allowed:选择项,允许用户离线运行应用程序,一般都会有,不用修改。

        <security>元素
            选择项,如果没有指明<security>,默认是不允许应用程序访问用户的本地资源,即应用程序是沙箱运行。
            如果设定为<all-permissions/>,则表示允许应用程序访问用户的本地资源。一般都会设定此值。

        <resource>元素
            <j2se version = 指定jdk版本>
            <jar href = 指定需发布的应用程序的jar包存放的位置>
       
        <application-desc>元素
            main-class:应用程序运行启动的主类
            <argument>:应用程序运行时的参数,可以有多个,每一个参数用一对<argument>参数</argument>。

四.Jsp页面
    1.编写用于Web访问的页面加入如下:
        <%
          String path = request.getContextPath();
          String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
        %>
        <a href="<%=basePath + "jwsTest.jnlp"%>">launch</a>

五.完整发布和测试
    前面我们已经准备好了需发布的应用程序的jar包,也写好了用来访问的jsp文件和服务器端的核心jnlp文件。
    至此,我们已经完成得七七八八了,剩下只需将Web工程发布到tomcat上,再打开IE......

(注意: 因为本网站Formatter的问题,帮将"<" ">" 改为 < >)

分享到:
评论
3 楼 cute.spring 2008-06-02  
ths 挺详细:)
2 楼 bluepopopo 2007-07-27  
多谢分享
来个tip:若是启动时出现Required field missing from jnlp时,最好用eclipse察看jnlp文件(我试了ue notepad都不行)文件头会多出来莫名其妙的字符 删掉它就可以了
按照步骤做下来 就被这个问题困扰好久
1 楼 silent.wong 2007-07-05  
JNLP Tags - Quick Reference:

http://lopica.sourceforge.net/quick.html

相关推荐

    Java web Start初级教程

    Java web Start教程是根据我学习的经验编写的,可以帮助初学者快速入门

    webrcp:用于RCP的Webstart

    WebRCP WebRCP是用于使用Java Web Start启动Eclipse RCP应用程序的框架。 WebRCP支持最常见的平台。特征下载并解压缩生成的RCP存档启动给定的Eclipse RCP产品文件入门将项目导入到Eclipse工作区中编写自己的属性文件...

    Beginning JSP.JSF and Tomcat,2nd.epub

    Start building Java–based web applications now, even if you’re a complete newcomer to Java. Comprehensive and example–driven, Beginning JSP, JSF, and Tomcat: Java Web Development, Second Edition is...

    OneWireViewer.jnlp

    OneWireViewer软件的java运行版本,ONEWIREVIEWER JAVA WEB入门,可以将OneWireViewer作为Java™Web Start程序安装在Java支持的操作系统上。

    Java学习材料(499篇文章)

    J2EE配置指南,JAVA APPLET 签名和认证 ,JAVA APPLET 源程序学习,JAVA SOCKET编程,JAVA WEB START 10 ARCHITEC,JAVA 编程技术中汉字问题的,SERVLET基础例程 - HELLOSER,SOAP规范,WEBSPHERE快速入门,分布式...

    firstWebApp:我的第一个 Java Web 应用程序!

    $ git clone https://github.com/heroku/java-getting-started.git$ cd java-getting-started$ mvn install$ foreman start web 您的应用程序现在应该在上运行。部署到 Heroku $ heroku create$ git push heroku ...

    Springboot开发入门教程.zip

    以下是Spring Boot开发的基本入门教程: 准备开发环境: 安装Java Development Kit (JDK):确保你的计算机上安装了JDK 8或更高版本。 安装Maven或Gradle:这两个是Java项目的构建工具,用于管理项目的依赖和构建...

    Discogs:Java Web服务公开音乐元数据

    Discogs是一种RESTful Java服务,通过您自己的关系数据库公开大量音乐元数据 动机 为了避免诸如速率限制和应用程序注册之类的服务依赖性,而只是构建一个东西。 入门 首先,请按照数据库说明进行操作 分叉此回购 &gt; ...

    zhihu:仿照知乎做的一个Java web项目,是一个sns+资讯的web应用。使用SpringBoot+Mybatis+velocity开发。数据库使用了redis和mysql,同时加入了异步消息等进阶功能,同时使用python爬虫进行数据填充

    仿照知乎做的一个Java web项目,是一个sns+资讯的web应用。使用SpringBoot+Mybatis+velocity开发。数据库使用了redis和mysql,同时加入了异步消息等进阶功能,同时使用python爬虫进行数据填充。 内容包括: 开发工具...

    simplejmx:简单的JMX Java库,可帮助使用JMX和Web发布对象

    简单的Java JMX 该软件包提供了一些Java类,以帮助使用JMX发布对象。... // start a web server for exposing jmx beans listing on port 8080JmxWebServer jmxWebServer = new JmxWebServer(8080);

    java8源码-snails-web:一个基于Spring-Boot+Ng-Alain前后端分离的简单实现

    java8 源码 源码仓库已迁移到 ,此账号下的工程不再提供维护,请移步访问 snails-web 一个基于 Spring-Boot + Angular + Ng-Zorro 前后端分离项目的简单实现 Snails 框架:编程入门,新手礼赞 snails-web 前端: + +...

    xml入门教程/xml入门教程

    &lt;script value="java"/&gt;(空元素) (属性名=“属性值”)&gt;张三 XSLT,是用于对XML进行文档格式转换,把一个XML文档转换成另一种格式的XML文档,但是其中内容是不变的。 &2.DTD(Document Type Difinition DTD...

    java-getting-started

    $ foreman start web 您的应用程序现在应该在上运行。 部署到 Heroku $ heroku create $ git push heroku master $ heroku open 文档 有关在 Heroku 上使用 Java 的更多信息,请参阅这些开发中心文章:

    java_getting_started

    $ git clone https://github.com/heroku/java-getting-started.git$ cd java-getting-started$ mvn install$ foreman start web 您的应用程序现在应该在上运行。部署到 Heroku $ heroku create$ git push heroku ...

    mlangmack-java-demo

    $ foreman start web 您的应用程序现在应该在上运行。 部署到 Heroku $ heroku create $ git push heroku master $ heroku open 文档 有关在 Heroku 上使用 Java 的更多信息,请参阅这些开发中心文章:

    Spring Security

    入门 简介 Spring Security是什么? 历史 发布版本号 Getting Spring Security Spring Security 4.1新特性 Java 配置提升 Web应用程序安全性提升 授权改进 密码模块的改进 测试的改进 一般的改进 样品和指南 (Start ...

    ashish-server:Ashish 服务器 Java

    $ foreman start web 您的应用程序现在应该在上运行。 部署到 Heroku $ heroku create $ git push heroku master $ heroku open 文档 有关在 Heroku 上使用 Java 的更多信息,请参阅这些开发中心文章:

    cloned-java-getting-started

    $ foreman start web 您的应用程序现在应该在上运行。 部署到 Heroku $ heroku create $ git push heroku master $ heroku open 文档 有关在 Heroku 上使用 Java 的更多信息,请参阅这些开发中心文章:

    elevate-java:Salesforce Elevate 研讨会的基本 Java 应用程序 - Heroku track

    java入门 一个准系统 Java 应用程序,可以轻松部署到 Heroku。 此应用程序支持 Salesforce Elevate 。...$ foreman start web 您的应用程序现在应该在上运行。 文档 有关在 Heroku 上使用 Java 的更多信息

Global site tag (gtag.js) - Google Analytics