JNLP(轉)

在java開發的早期,重點被放在了客戶端開發。語言中對於applet和安全下載的支持對於萬維網(WWW)的發佈看上去是個不錯的主意。但是現實是java最大的成功在於服務器端,java的強大功能和適應性贏得了服務器端開發者的心。同時,客戶端的開發落後了。棘手的開發問題限制了applet的效用,開發者被迫轉向基於瀏覽器的瘦客戶端。
  Java Network Launching Protocol (JNLP,java網絡加載協議) 承諾改變這個現狀。通過JCP(Java Community Process)的JSR-56的開發, JNLP解決了很多先前用java開發針對客戶端的功能的問題。一個JNLP客戶端是一個應用程序或者說服務,它可以從宿主於網絡的資源中加載應用程序。如果你使用JNLP打包一個應用程序,那麼一個JNLP客戶端能夠:
  o 爲該應用探測,安裝並且使用正確版本的JRE(java運行時環境) o 從瀏覽器或者桌面加載應用程序 o 當新版本的應用出現時自動下載最新的版本。 o 爲了加速啓動速度在本機緩存應用程序需要的類 o 可以作爲applet或者應用程序運行 o 在必要的情況下下載原始的庫 o 以安全的方式使用諸如文件系統這樣的本機資源 o 自動定位和加載外部依賴資源


一。jnlp是什麼?是java提供的一種讓你可以通過瀏覽器直接執行java應用程序的途徑,它使你可以直接通過一個網頁上的url連接打開一個java應 用程序.好處就不用說了,如果你的java應用程序以jnlp 的方式發佈,如果版本升級後,不需要再向所有用戶發佈版本,只需要更新服務器的版本,這就相當於讓java應用程序有了web應用的優點了.
二。jnlp文件的具體說明

<?xml version="1.0" encoding="UTF-8"?> dl.bitsCN.com網管軟件下載
<!--codebase 屬性指出搜索應用程序資源的頂級URL,下面的icon/jar元素都是以這個URL爲基本.-->
<jnlp codebase="http://127.0.0.1:8081/webstart"> blog.bitsCN.com網管博客等你來搏
<information>
<!-- 在"開始"-"運行"菜單中輸入"javaws"或"javaws -viewer"啓動Web Start,會看到客戶端已經安裝的webstart應用程序-->
<!--title :應用程序標題 vendor:供應商 so.bitsCN.com網管資料庫任你搜
title/vendor 元素必須,會顯示在用"javaws -viewer"命令
打開的應用程序緩存查看器(Java Application Cache Viewer)中--> www.bitsCN.net中國網管博客
<title>HelloWorld</title>
<vendor>Lively Corporation</vendor>
<description>HelloWorld Test Example for WebStart.</description>
<!--homepage :存放有關應用程序的相關文檔的URL,如help文件等,僅僅是description作用--> bitsCN.com中國網管聯盟
<homepage href="http://127.0.0.1:8081/webstart/index.html"/>


<!--icon 指定圖標會顯示在應用程序緩存查看器中,
在查看器中新建webstart快捷方式到桌面時也會顯示爲快捷方式圖標,
只支持GIF/JPEG格式,其它格式無效-->


<icon href="./images/logo.jpg"/>


<!--splash 在sun的文檔中提到會出現在webstart啓動時的閃屏中,不過可能由於速度問題,我沒有觀察到-->


<icon kind="splash" href="./images/logo.jpg"/>
<!-- 允許離線啓動,可以使用javaws -offline命令-->
<offline-allowed/> 需要什麼來搜一搜吧so.bitsCN.com
</information>
<resources>
<!-- 指定客戶端需要安裝的j2se版本,下面指定爲1.5+,
如果版本是1.4,在鏈接此jnlp文件時會提示更新j2se版本-->
<j2se version="1.5+"/>
<!-- 指定要下載到本地的jar文件(注意,所有的文件都需要打包才能夠下載),
可以包含一些資源文件,如icons/configuration files,可以使用getResource方法取得-->
<jar href="./jar/jws/helloworld.jar"/>
</resources>
<!--application-desc 必須,指定webstart啓動時執行jar文件中的哪個類-->
<application-desc main-class="jws.HelloWorld"/> bitsCN.com中國網管聯盟 </jnlp>
三。應用JNLP部署應用
(1)編寫相關應用,打包成一系列jar;
(2)根據jnlp文件說明修改相應的jnlp內容,修改相應的url和jar;
(3)部署jnlp文件和jar到相應的web容器;
(4)編寫訪問網頁,即可使用該應用〔亦可下載jnlp文件使用jws運行應用〕;
四。補充
如果jar需要訪問本地文件資源,需要爲你的jar文件簽名
先在命令行用keytool產生一個keystore文件.
keytool -genkey -keystore you.keystore –alias youApp
命令行用jarsigner簽名,當然這時候需要生成keystore時的密碼
jarsigner -keystore you.keystore appTest.jar youApp 重新部署即可
文章出處:http://www.diybl.com/course/3_program/java/javaxl/2008227/101795.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章