HelloWorld 善戰者,求之于勢,不責于人;故能擇人而任勢。

          知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

            BlogJava :: 首頁 ::  :: 聯系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks
          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文件,在其中添加<mime-type>
          application/x-java-jnlp-file
          </mime-type>
          以支持JNLP文件。
          三:部署應用程序
          第一步:開發你希望發布的應用程序
          第二步:把應用程序及所用到的所有資源打成一個或多個jar包
          第三步:如果你的應用程序不會用到任何運行這個應用程序的機器的本地資源,那么,你的應用程序就可以部署了。
          第四步:如果你的應用程序用到了運行這個應用程序的機器的本地資源,那么,你的應用程序就必須先簽名然后才可以發布。
          第五步:如何給應用程序簽名
          1:首先確保你已經完全安裝了Java2的環境,有keytool工具,它位于J2SE%@page contentType="text/html;charset=gb2312"%>
          <html>
          <title>JWS Test</title>
          <head>
          <SCRIPT LANGUAGE="Javascript">
          function insertLink(url, name) {
          document.write("<a href=" + url + ">" + name + "</a><br><br>");
          }
          insertLink("http://你的IP:8080/ JWSTest /apps/JWSTest.jnlp"," JWSTest ");
          </SCRIPT>
          </head>
          <body>
          </body>
          </html>
          第二步:在jsp中添加檢測訪問的客戶端是否已經安裝了JWS的客戶端的代碼,示例如下:
          <%@page contentType="text/html;charset=gb2312"%>
          <html>
          <title> JWS Test </title>
          <head>
          <SCRIPT LANGUAGE="Javascript">
          var javawsInstalled = 0;
          isIE = "false";
          if (navigator.mimeTypes && navigator.mimeTypes.length) {
          x = navigator.mimeTypes['application/x-java-jnlp-file'];
          if (x) javawsInstalled = 1;
          } else {
          isIE = "true";
          }
          function insertLink(url, name) {
          if (javawsInstalled) {
          document.write("<a href=" + url + ">" + name + "</a><br><br>");
          } else {
          document.write("<a href=" + url + ">"+ name +"</a><br><br>");
          }
          }
          </SCRIPT>
          <SCRIPT LANGUAGE="VBScript">
          on error resume next
          If isIE = "true" Then
          If Not(IsObject(CreateObject("JavaWebStart.IsInstalled"))) Then
          javawsInstalled = 0
          Else
          javawsInstalled = 1
          End If
          End If
          </SCRIPT>
          <SCRIPT LANGUAGE="Javascript">
          if(javawsInstalled){
          insertLink("http://你的IP:8080/ JWSTest /apps/JWSTest.jnlp"," JWSTest ");
          }else{
          //通知用戶要先安裝JWS的客戶端,你可以自己提供下載或是直接鏈接到Sun的JWS下載。
          //分為兩種,如果客戶端已經安裝了Java運行環境,則只要下載javaws-1_0_1_01-win-int.exe即可。
          //如果客戶端沒有安裝Java運行環境,則要下載完整的javaws-1_0_1_01-win-int-rt.exe。
          }
          </SCRIPT>
          </head>
          <body>
          </body>
          </html>
          五:JNLP文件
          第一步:下面我們來編寫JWS的核心配置文件JNLP,有了它,才能將以上各部分聯系起來,真正讓JWS運轉起來。JNLP文件符合標準的XML語法,實質就是一個XML文件。當然,編寫它的最好方式是對已寫好的JNLP進行改寫。JWSTest.jnlp示例如下:
          <?xml version="1.0" encoding="utf-8"?>
          <!-- JNLP File for SwingSet2 Demo Application -->
          <jnlp
          spec="1.0+"
          codebase="http://你的IP:8080/JWSTest/apps"
          href=" JWSTest.jnlp">
          <information>
          <title> JWS Test </title>
          <vendor>YOUR Name</vendor>
          <homepage href=" JWSTest.html"/>
          <description> JWS Test </description>
          <icon href="images/ JWSTest.jpg"/>
          <offline-allowed/>
          </information>
          <security>
          <all-permissions/>
          </security>
          <resources>
          <j2se version="1.3"/>
          <jar href="lib/ JWSTest.jar"/>
          </resources>
          <application-desc main-class="運行啟動的主類"/>
          </jnlp>
          第二步:部分JNLP的關鍵語法
          <jnlp>元素
          spec:必須是1.0及以上版本,這里用1.0+,不需修改。
          codebase:資源的URL,是JNLP指向各連接的起始處,需自行修改。
          Href:JNLP文件相對codebase的存放位置,和JNLP文件的全名,需自行修改。
          <infomation>元素
          Title:發布的應用程序簡單標題,需自行修改。
          Vendor:發行商信息,可以寫上你的


          </script>

          posted on 2007-08-13 18:51 helloworld2008 閱讀(140) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 景东| 雷山县| 克拉玛依市| 临猗县| 株洲市| 赤水市| 广安市| 正安县| 龙川县| 海口市| 青州市| 东阳市| 镇安县| 涟水县| 彝良县| 枣阳市| 磴口县| 射洪县| 阿巴嘎旗| 旺苍县| 毕节市| 澳门| 施甸县| 武山县| 萍乡市| 宁南县| 叶城县| 应用必备| 松溪县| 资兴市| 福泉市| 绥德县| 抚顺县| 紫云| 鄂托克前旗| 伊金霍洛旗| 德化县| 通州区| 水城县| 诏安县| 札达县|