`
silent.wong
  • 浏览: 14734 次
  • 性别: 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入门基础教程.pdf"这个文档应该会详细讲解这些内容,包括JNLP文件的结构、如何指定应用程序的主类和资源、如何设置权限,以及如何在服务器上发布和更新应用程序。 学习Java Web Start有助于开发者更...

    webstart

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

    入门学习Java For Beginners: A Simple Start To Java Programming

    作为一本专为Java初学者打造的入门书籍,《入门学习Java For Beginners: A Simple Start To Java Programming》是一本实用的教材,旨在帮助初学者快速上手Java编程。本书系统地介绍了Java的基础语法、关键概念、数据...

    javaApplet 实例入门教程

    Java Web Start提供了更安全、便捷的部署方式,允许用户从Web服务器下载和运行Java应用程序,无需浏览器插件。 9. **现代替代方案** 现代Web开发倾向于使用JavaScript、HTML5和WebGL等技术,它们在浏览器端提供了...

    Java3D 探奇- IBM开发网的Java3D入门教程

    最后,为了在Web应用中使用Java3D,你需要理解`javax.media.j3d.Web3D`接口,它使得3D场景能在Java Web Start或浏览器环境中运行。JWS(Java Web Start)提供了无缝的部署机制,让用户能够轻松地下载和运行Java3D...

    java游戏编程入门

    ### Java游戏编程入门知识点详解 #### 一、Java在游戏开发中的地位与潜力 随着游戏产业的迅猛发展,各种编程语言和技术不断涌现,其中C和C++因其性能优势而成为主流游戏开发语言。然而,Java作为一种后起之秀,在...

    Java Applet 入门教程

    - Java Web Start和JavaFX提供更现代的解决方案,但仍基于Java,但不依赖于浏览器环境。 7. **学习资源** - "Java Applet 入门教程" 和 "Java Applet 入门" 这两个文件名可能包含详细的步骤和示例,帮助初学者...

    Java学习入门资料 PPT版本

    - **部署技术**:Java Web Start等技术帮助开发者部署应用程序。 - **用户界面工具箱**:Swing和Java 2D toolkits等库用于创建图形用户界面(GUI)。 - **综合库**:如JDBC、JNDI、RMI等,支持数据库连接、名称服务、...

    spring web flow入门

    《Spring Web Flow 入门详解》 随着Web应用的不断扩展和复杂化,管理页面流程逐渐成为了一项挑战。在大型应用中,如何清晰地定义和控制应用的导航逻辑,尤其是涉及多步骤交互过程时,成为了开发者的关注焦点。...

    Java学习入门资料

    - 部署技术: 如 Java Web Start。 - 用户界面工具箱: Swing 和 Java 2D toolkits。 - 其他功能综合库: 如 IDL、JDBC、JNDI、RMI 等。 - **Java程序开发流程**: - 使用 `.java` 文件编写源代码。 - 通过 Java ...

    java-start-learning-.rar_Java Servlet JSP

    综上所述,这些文档构成了一套完整的Java Web入门教程,覆盖了Servlet和JSP的基本概念、实战应用,以及与Tomcat服务器和MySQL数据库的集成。通过深入学习和实践,你将能够掌握Java Web开发的基础,为构建自己的Web...

    java入门 应用程序实例

    11. **Java应用打包与部署**:了解如何使用JAR文件打包程序,以及如何通过Java Web Start或安装程序将应用部署到用户的计算机上。 12. **调试与测试**:学会使用IDE(如Eclipse或IntelliJ IDEA)中的调试工具,以及...

    完整版 Java编程基础入门教程 Java语言程序设计 第9章_Applet(共40页).ppt

    【Java编程基础入门教程 - Applet章节概览】 在Java编程世界中,Applet是一种特殊类型的应用程序,它能够在Web浏览器环境下运行。本教程的第9章深入讲解了Applet的相关知识,旨在帮助初学者理解Applet的工作原理、...

    java applet入门程序

    Java Applet是Java技术在早期Web开发中的一个重要应用,它允许开发者创建可在用户浏览器中运行的小型Java程序。这些小程序可以增强网页的功能,提供交互性,比如动态图形、动画、游戏甚至在线聊天等。本教程将带你...

    Java日记-我的学习心得

    #### 二、Java多线程基础 Java提供了内置的支持来简化多线程编程的过程。这主要体现在以下几个方面: 1. **语言级别的支持**:Java语言本身提供了Thread类以及相关的API,使得开发者可以很容易地创建和管理线程。 2...

    Java Applet 入门

    要运行Java Applet,用户需要安装Java插件,例如Java Web Start。浏览器会通过`&lt;applet&gt;`标签识别并加载Applet,该标签包含了Applet类名、宽度和高度等信息。然而,由于安全问题和性能考虑,现代浏览器已经不再支持...

Global site tag (gtag.js) - Google Analytics