war file : Java Glossary


war file
WAR (Web Archive). Files with the extension *.war. You use it to deploy Servlets, including EE (Enterprise Edition) and JSP (Java Server Pages). War files are type of jar file used by Servlets. They contain various kinds of source and images e.g. *.java, *.jsp, *.xml, *.css, *.ejb, *.gif, *.html, *.png, *.sql, *.xsl, *.xtp.

Normally they contain no *.class files, but it is possible to precompile your JSP s, in which case they behave like Servlets. files.

The magic of *.war files is their completeness. All you need do is drop the *.war file in the run directory of any Servlet womb and that is all it needs to run the application. The womb can find out everything it needs to know primarily by examining the web.xml enclosed file. This works across platforms and across vendors. Sun nailed down the specifications of the *.war file in a platform-independent way. Its a bloody miracle and something Sun deserves kudos for.


Here is as simple hello world app bundled as a single hello.war file.
Contents of hello.war
file purpose
META-INF/MANIFEST.MF Ordinary unsigned jar manifest
WEB-INF/classes/li/earth/urchin/twic/HelloServlet.class compiled Servlet class file
WEB-INF/web.xml XML (extensible Markup Language) file linking hello command with corresponding hello Servlet.
index.html HTML (Hypertext Markup Language) to display to client to let him invoke the Servlet
Contents of hello.zip
file purpose
hello-war/build.sh Linux bash build script to rebuild hello.war. You might do it with ANT or with your IDE (Integrated Development Environment).
hello-war/src/li/earth/urchin/twic/HelloServlet.java Java source for Servlet
hello-war/web.xml XML file linking hello command with corresponding hello Servlet.
Here is what the web.xml file

Learning More

This page is posted
on the web at:


Optional Replicator mirror
of mindprod.com
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number