1. 程式人生 > 其它 >Java-jar和war包的區別

Java-jar和war包的區別

jar包和war包的區別:
1、war是一個web模組,其中需要包括WEB-INF,是可以直接執行的WEB模組;jar一般只是包括一些class檔案,在聲明瞭Main_class之後是可以用java命令執行的。
2、war包是做好一個web應用後,通常是網站,打成包部署到容器中;jar包通常是開發時要引用通用類,打成包便於存放管理。
3、war是Sun提出的一種Web應用程式格式,也是許多檔案的一個壓縮包。這個包中的檔案按一定目錄結構來組織;classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)可以打包成jar放到WEB-INF下的lib目錄下。
4、JAR檔案格式以流行的ZIP檔案格式為基礎。與ZIP檔案不同的是,JAR 檔案不僅用於壓縮和釋出,而且還用於部署和封裝庫、元件和外掛程式,並可被像編譯器和 JVM 這樣的工具直接使用。

格式特點:
安全性 可以對 JAR 檔案內容加上數字化簽名。這樣,能夠識別簽名的工具就可以有選擇地為您授予軟體安全特權,這是其他檔案做不到的,它還可以檢測程式碼是否被篡改過。
減少下載時間 如果一個 applet 捆綁到一個 JAR 檔案中,那麼瀏覽器就可以在一個 HTTP 事務中下載這個 applet 的類檔案和相關的資源,而不是對每一個檔案開啟一個新連線。
壓縮:JAR 格式允許您壓縮檔案以提高儲存效率。
傳輸平臺擴充套件:Java 擴充套件框架(Java Extensions Framework)提供了向 Java 核心平臺新增功能的方法,這些擴充套件是用 JAR 檔案打包的(Java 3D 和 JavaMail 就是由 Sun 開發的擴充套件例子)。
WAR檔案:就是一個Web應用程式,建立WAR檔案,就是把整個Web應用程式(不包括Web應用程式層次結構的根目錄)壓縮起來,指定一個war副檔名。

建立的條件:
需要建立正確的Web應用程式的目錄層次結構。
建立WEB-INF子目錄,並在該目錄下建立classes與lib兩個子目錄。
將Servlet類檔案放到WEB-INF\classes目錄下,將Web應用程式所使用Java類庫檔案(即JAR檔案)放到WEB-INF\lib目錄下。
將JSP頁面或靜態HTML頁面放到上下文根路徑下或其子目錄下。
建立META-INF目錄,並在該目錄下建立context.xml檔案。