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应用程序目录中移走,就能够打包了部署