WEB应用其他的部分就是一般的HTML、JSP、图像文件以及目录。这些可以被压缩到一个.war文件里,然后可以不对服务器做任何修改的部署到服务器上。
最重要的是,服务器会注意到放在webapps/目录下的.war文件,并且自动把文件解压缩,在不改变server.xml文件的情况下把新的应用加载到服务器上。当应用修改了,重新部署它是一个很简单的事情,只要用新的.war文件覆盖旧的即可。服务器会再次注意这个文件,解压缩,并重新加载所有的类文件。
Ant中的war任务是jar任务的扩展,它对WEB-INF目录有特殊的处理,这个任务可以有4个子标签:lib、classes、webinf和metainf。在这些标签里指定的文件将放到对应的目录下,其中metainf标签下的放到META-INF目录下。
下面是一个war任务的例子:
<war warfile="ApplicationVersion2.war" webxml="xml/av2-web.xml">
<fileset dir="html"/>
<lib dir="lib/ext">
<exclude name="oracle*.jar"/>
</lib>
<classes dir="build/servlets">
<include name="**/*.class"/>
</classes>
</war>
这个例子将生成一个名为ApplicationVersion2.war的文件。它从xml/av2-web.xml获得它的web.xml文件,并且包含HTML目录下的所有文件。然后,它把我们lib/ext目录下的所有文件放到war文件的WEB-INF/lib目录下,其中不包括Oracle的那些,再把位于build/servlets目录下的所有servlet文件放到WEB-INF/classes目录下。