在软件工程中,WAR文件(Web应用程序归档,)是一种JAR文件,其中包含用来分发的JSP、Java Servlet、Java类、XML文件、标签库、静态网页(HTML和相关文件),以及构成Web应用程序的其他资源。
内容和结构
一个WAR文件可能会以与JAR文件相同的方式进行数字签名,以便他人确定哪些源代码来自哪一个JAR文件。
而WAR文件也有其特殊的文件和目录。如果Web应用程序使用的servlet,则Servlet容器会使用web.xml文件,以确定某个URL请求将被路由到哪个Servlet上。web.xml还用于定义Servlet中可以引用的上下文变量,以及部署器所需配置的环境依赖关系。例如,一个依赖于邮件会话、用于发送电子邮件的程序,而Servlet容器负责提供这项服务。这就需要在web.xml进行一些配置。
优缺点
WAR文件有如下优点:
- 易于部署和测试
- 已部署的应用程序,其版本很容易辨别
- 所有的Java EE容器都支持.WAR文件
使用WAR文件进行Web部署的一个缺点是,即便是细微的修改,也不能在程序运行时进行。任何修改都需要重新生成和部署整个WAR文件。
示例
下面的示例web.xml文件,演示了一个Servlet是怎样被声明和被关联的。
HelloServlet
mypackage.HelloServlet
HelloServlet
/HelloServlet
資源引用到一個可被用於發送電子郵件的javax.mail.Session的實例工廠。
mail/Session
javax.mail.Session
Container
参见
相关的文件格式有:
*
- JAR
- EXE格式
参考文献
外部链接
*[https://web.archive.org/web/20140421001433/http://docs.oracle.com/javaee/7/tutorial/doc/packaging003.htm Oracle Java EE 7指南:打包Web文档]
*[http://docs.oracle.com/javaee/6/tutorial/doc/bnadx.html Oracle Java EE 6指南:Web模块]
*[http://docs.oracle.com/javaee/5/tutorial/doc/bnadx.html Oracle Java EE 5指南:Web模块]
*[http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd 太阳计算机系统:Servlet 2.5 WAR文件的XML Schema]
*[http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd 太阳计算机系统:Servlet 2.4 WAR文件的XML Schema]
*[http://jcp.org/en/jsr/detail?id=154 JSR 154:Java Servlet 2.4规范]
评论 (0)