webstart/
├── images/ # JNLP 定義的圖示
├── jar/ # 打包後的 jar 檔
├── jnlp/ # *.jnlp 描述檔
├── src/ # Java 原始碼
└── WEB-INF/
├── classes/ # 編譯後 class
└── web.xml # Web 應用描述檔
jws.HelloWorld(Swing 視窗),含 main() 啟動入口。jar cvf helloworld.jar jws/*.class,放入 jar/jws/。MANIFEST.MF,加入 Main-Class: jws.HelloWorld,更新回 jar:jar umf MANIFEST.MF helloworld.jar。(若 JNLP 指定 main-class 可省略)HelloWorld.jnlp:指定 codebase、title/vendor、icon、j2se version、jar href、application-desc main-class、offline-allowed。index.html 連結 jnlp/HelloWorld.jnlp。WEB-INF/web.xml 最小內容 <web-app/>,放入 Tomcat webapps/webstart 啟動。index.html 點擊連結,啟動 Swing 視窗與 Java Console 驗證。File 操作本地檔案。keytool -genkey 產生金鑰庫(mykeystore),設定別名、密碼、有效期。jarsigner -keystore mykeystore helloworld.jar mykey 簽名(產生 MYKEY.SF/DSA)。<security><all-permissions/></security>,否則啟動報安全錯誤。Tomcat 5.5+ 無需在 web.xml 額外設定 MIME mapping。完整參數請參考 Sun 官方 JNLP Spec 與 javaws 文件。