JavaSE程序能夠打包成Jar包(J其實能夠理解爲Java了),而JavaWeb程序能夠打包成war包(w其實能夠理解爲Web了)。而後把war發佈到Tomcat的webapps目錄下,Tomcat會在啓動時自動解壓war包。web
JAR(Java Archive,Java 歸檔文件)是與平臺無關的文件格式,它容許將許多文件組合成一個壓縮文件。爲 J2EE 應用程序建立的 JAR 文件是 EAR 文件(企業 JAR 文件)。app
JAR 文件格式以流行的 ZIP 文件格式爲基礎。與 ZIP 文件不一樣的是,JAR 文件不只用於壓縮和發佈,並且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 JAR。webapp
若是一個Web應用程序的目錄和文件很是多,那麼將這個Web應用程序部署到另外一臺機器上,就不是很方便了,咱們能夠將Web應用程序打包成Web 歸檔(WAR)文件,這個過程和把Java類文件打包成JAR文件的過程相似。利用WAR文件,能夠把Servlet類文件和相關的資源集中在一塊兒進行發佈。在這個過程當中,Web應用程序就不是按照目錄層次結構來進行部署了,而是把WAR文件做爲部署單元來使用。工具
一個WAR文件就是一個Web應用程序,創建WAR文件,就是把整個Web應用程序(不包括Web應用程序層次結構的根目錄)壓縮起來,指定一個.war擴展名。下面咱們將第2章的Web應用程序打包成WAR文件,而後發佈插件
要注意的是,雖然WAR文件和JAR文件的文件格式是同樣的,而且都是使用jar命令來建立,但就其應用來講,WAR文件和JAR文件是有根本區別的。JAR文件的目的是把類和相關的資源封裝到壓縮的歸檔文件中,而對於WAR文件來講,一個WAR文件表明了一個Web應用程序,它能夠包含 Servlet、HTML頁面、Java類、圖像文件,以及組成Web應用程序的其餘資源,而不單單是類的歸檔文件。資源
咱們何時應該使用WAR文件呢?在開發階段不適合使用WAR文件,由於在開發階段,常常須要添加或刪除Web應用程序的內容,更新 Servlet類文件,而每一次改動後,從新創建WAR文件將是一件浪費時間的事情。在產品發佈階段,使用WAR文件是比較合適的,由於在這個時候,幾乎不須要再作什麼改動了。開發
在開發階段,咱們一般將Servlet源文件放到Web應用程序目錄的src子目錄下,以便和Web資源文件區分。在創建WAR文件時,只須要將src目錄從Web應用程序目錄中移走,就能夠打包了部署