JNLP說明

轉自(百度知道)

JNLP

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

  <?xml version="1.0" encoding="UTF-8"?>
  <!--codebase 屬性指出搜索應用程序資源的頂級URL,下面的icon/jar元素都是以這個URL爲基本.-->
  <jnlp codebase="http://127.0.0.1:8081/webstart">
  <information>
  <!-- 在"開始"-"運行"菜單中輸入"javaws"或"javaws -viewer"啓動Web Start,會看到客戶端已經安裝的webstart應用程序-->
  <!--title :應用程序標題 vendor:供應商
  title/vendor 元素必須,會顯示在用"javaws -viewer"命令
  打開的應用程序緩存查看器(Java Application Cache Viewer)中-->
  <title>HelloWorld</title>
  <vendor>Lively Corporation</vendor>
  <description>HelloWorld Test Example for WebStart.</description>
  <!--homepage :存放有關應用程序的相關文檔的URL,如help文件等,僅僅是description作用-->
  <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/>
  </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"/>
  </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
  重新部署即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章