1、Jar包的介紹
Jar(Java Archive,Java歸檔文件)是與平台無關的文件格式,它允許將許多文件組合成一個壓縮文件。
Jar文件格式以流行的ZIP文件格式為基礎。但是與ZIP文件不同的是,JAR文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可以被像編譯器和JVM這樣的工具直接使用。在Jar中包含特殊的文件,如manifests和部署描述符,用來知識工具如何處理特定的Jar。
manifest元素 是一種XML文件中的頂層元素,使用搶文件名的形式來標識項目中的程序清單
簡單來說,Jar包就是別人已經寫好的一些類,然后對這些類進行打包。可以將這些Jar包引入到自己的項目中去,可以直接使用Jar包中的類和屬性,這些Jar包一般存放在lib目錄下
2、War包的介紹
War是一個可以直接運行的web模塊,通常用於網站,打成包部署到容器中去。以Tomcat來說,將War包放置在其\webapps\目錄下,然后啟動Tomcat,這個包就會自動解壓,就相當於發布了。
War包是Sun提出的一種web應用程序格式,與Jar類似,是很多文件的壓縮包。War包中的文件按照一定目錄結構來組織。根據其根目錄下包含有html和jsp文件,或者包含有兩種文件的目錄,另外還有WEB-INF目錄。通常在WEB-INF目錄下含有一個web.xml文件和一個classes目錄,web.xml是這個應用的配置文件,而classes目錄表則包含編譯好的servlet類和jsp,或者servlet所以來的其他類(如JavaBean)。通常這些所依賴的類也可以打包成jar包放在WEB-INF下的lib目錄下。
簡單來說,war包是JavaWeb程序打的包,war包里面包括寫的代碼編譯成的class文件,依賴的包,配置文件,所有的網站頁面,包括html,jsp等等。一個war包可以理解為是一個web項目,里面是項目的所有東西。
3、Jar與War的區別
War文件代表了一個Web應用程序,Jar是類的歸檔文件
如果一個Web應用程序的目錄和文件非常多,那么將這個Web應用程序部署到另一台機器上,就不是很方便了,這時可以將Web應用程序打包成Web 歸檔(WAR)文件,這個過程和把Java類文件打包成JAR文件的過程類似。利用WAR文件,可以把Servlet類文件和相關的資源集中在一起進行發布。在這個過程中,Web應用程序就不是按照目錄層次結構來進行部署了,而是把WAR文件作為部署單元來使用。
一個War文件就是一個Web應用程序,建立War文件,就是把整個Web應用程序(不包括Web應用程序層次結構的根目錄)壓縮起來,制定一個.war擴展名。
要注意的是,雖然WAR文件和JAR文件的文件格式是一樣的,並且都是使用jar命令來創建,但就其應用來說,WAR文件和JAR文件是有根本區別的。
- JAR文件的目的是把類和相關的資源封裝到壓縮的歸檔文件中,
- 一個WAR文件代表了一個Web應用程序,它可以包含 Servlet、HTML頁面、Java類、圖像文件,以及組成Web應用程序的其他資源,而不僅僅是類的歸檔文件。
那么什么時候應該使用WAR文件呢?在開發階段不適合使用WAR文件,因為在開發階段,經常需要添加或刪除Web應用程序的內容,更新 Servlet類文件,而每一次改動后,重新建立WAR文件將是一件浪費時間的事情。在產品發布階段,使用WAR文件是比較合適的,因為在這個時候,幾乎不需要再做什么改動了。
在開發階段,我們通常將Servlet源文件放到Web應用程序目錄的src子目錄下,以便和Web資源文件區分。在建立WAR文件時,只需要將src目錄從Web應用程序目錄中移走,就可以打包了。
4、部署war包到Tomcat
- 將程序打包為一個test.war包;
- 打開Tomcat的安裝路徑,然后進入到其中的webapps文件夾中,把test.war放在webapps文件夾下;
- 啟動Tomcat。
如果不需要更改配置文件:到這一步就可以了。
在瀏覽器輸入“http:localhost:tomcat_port/test即可打開test項目的 index.jsp頁面(port是自己的端口號)。如果test項目沒有index.jsp頁面,那就需要打開其他相應的頁面。
如果需要更改配置文件:
- 關閉 Tomcat。
- 刪除 test.war文件(如果在tomcat啟動的狀態下刪去war包,解壓好的文件夾也會被一並刪除,所以需要在解壓后停止tomcat, 然后刪掉war包,這時再啟動。項目文件夾就會被認為不是war解壓而來。)。
- 由於剛剛啟動過Tomcat,Tomcat會自動解壓縮test.war為 test文件夾。所以我們在webapps下面可以看到test文件夾。打開test文件夾更改配置文件即可。
- 更新完配置之后,啟動Tomcat。
- 瀏覽器打開即可。