震擊戰
JAR和WAR是兩種類型的文件歸檔。更準確地說,WAR文件也是JAR文件,但它們用於不同的目的。JAR文件類似於眾所周知的ZIP文件。它們可以用於任何一般用途的歸檔,但是JAR文件最流行的用法是將它們用作Java類文件和構成Java應用程序的資源文件的容器。WAR文件專門用於部署web應用程序。
什麼是JAR?
JAR(javaarchive)是一個包含許多其他文件的文件歸檔。Java開發人員通常使用JAR文件來分發Java應用程序或Java庫,使用JAR文件作為Java類文件和相應資源文件(如文本、音頻、視頻等)的容器。眾所周知的文件歸檔格式ZIP是構建JAR文件的基礎。用戶可以使用JDK(Java開發工具包)的jar命令,也可以使用常規的ZIP軟件來提取jar文件的內容。JAR文件是在單個文件中下載整個web應用程序的一種非常方便的方法,而不必單獨下載構成web應用程序的所有文件。為了讀/寫JAR文件,Java開發人員使用java.util.zip文件包裹。如果JAR文件應該作為獨立的應用程序執行,那麼其中一個類將被指定為manifest文件條目中的“main”類。可執行的JAR文件可以使用帶有JAR屬性的java命令運行(即java-JAR食物罐).
什麼是戰爭?
WAR(Web應用程序歸檔)是一個JAR文件,用作一組Web應用程序資源文件(組成Web應用程序)的容器,例如JSP(Java服務器頁面)、servlet、類文件、XML文件和Web(HTML)頁面。WAR文件由其.WAR文件擴展名標識。它們是由sunmicrosystems(Java編程語言的原始開發者)開發的。JAR文件上使用的數字簽名(委託代碼)也可以用於WAR文件。
WAR文件在內部組織成一個特殊目錄的層次結構。WAR文件中包含的web應用程序的結構在web.xml文件文件(位於/WEB-INF目錄中)。Web.xml文件還描述了哪個URL與哪個servlet連接。它們還定義了servlet內部可訪問的變量和必須設置的依賴項。但是,如果WAR文件只包含JSP文件,那麼web.xml文件文件是可選的。
JAR和WAR有什麼區別?