软件工程中,WAR文件(Web应用程序归档,英語:Web application ARchive[1])是一种JAR文件,其中包含用来分发的JSPJava ServletJava类、XML文件、标签库、静态网页(HTML和相关文件),以及构成Web应用程序的其他资源。

Web ARchive
扩展名
.war
互联网媒体类型application/java-archive
开发者昇陽電腦
作为容器JSP, Java Servlet
扩展自JAR

内容和结构

编辑

一个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是怎样被声明和被关联的。

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE web-app
     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
     "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
 
 <web-app>
     <servlet>
         <servlet-name>HelloServlet</servlet-name>
         <servlet-class>mypackage.HelloServlet</servlet-class>
     </servlet>
 
     <servlet-mapping>
         <servlet-name>HelloServlet</servlet-name>
         <url-pattern>/HelloServlet</url-pattern>
     </servlet-mapping>
 
     <resource-ref>
         <description>
             資源引用到一個可被用於發送電子郵件的javax.mail.Session的實例工廠。
         </description>
         <res-ref-name>mail/Session</res-ref-name>
         <res-type>javax.mail.Session</res-type>
         <res-auth>Container</res-auth>
     </resource-ref>
 </web-app>

参见

编辑

相关的文件格式有:

参考文献

编辑
  1. ^ What's New in Java Servlet API 2.2?. JavaWorld(Oracle转载). 1999-10 [2014-08-26]. (原始内容存档于2017-10-18). 

外部链接

编辑

📚 Artikel Terkait di Wikipedia

Java Servlet

Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的類別,一般情况下,人们将Servlet理解为后者。

JSP

JSTL Java企业版 JavaServer Faces Java Servlet SSJS WAR (file format) EAR (file format) JAR (file format) Tomcat服务器 Chung 2013,Overview Kin-man Chung. JavaServer

Jagex

Jagex 是一間網頁遊戲開發公司,遊戲多以Java語言開發,名稱原本來自"Java Game Expert",在開始代理War of Legends之後,更名為"Just About the Game Experience"。公司開發的遊戲不多,其中最大型的網頁遊戲乃Runescape。Runescape

Java类加载器

Java类加载器(英語:Java Classloader)是Java运行时环境(Java Runtime Environment)的一个部件,负责动态加载Java类到Java虚拟机的内存空间中。类通常是按需加载,即第一次使用该类时才加载。由于有了类加载器,Java

JAR (文件格式)

在软件领域,JAR文件(Java归档,英語:Java ARchive)是一种软件包檔案格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便分发Java平台应用软件或库。 JAR文件是一种归档文件,以ZIP格式构建,以.jar为文件扩展名。用户可以使用JDK自

战神:背叛

《战神:背叛》(英語:God of War: Betrayal)是一款动作冒险游戏手机游戏,由Javaground和索尼在线娱乐的洛杉矶分部开发,Sony Pictures Digital于2007年6月20日在Java ME平台发行,它是战神系列的衍生游戏,按情节时间来看发生在首部作品《战神》之后

Spring Framework

Spring框架是 Java 平台的一个开源的全栈(full-stack)应用程序框架和控制反转容器实现,一般被直接称为 Spring。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于Java企业版平台构建的 Web 应用提供了大量的拓展支持。Spring 没有直接实现任何的编程模型,但它已经在

Diagrams.net

diagrams.net(舊稱 draw.io)是一個以HTML5和JavaScript寫成的跨平台繪圖(英语:graph drawing)自由及開放原始碼軟體。 它的頁面可被用來創造許多圖解,例如流程圖、網頁線框稿(英语:Website wireframe)、 統一塑模語言圖解、組織結構圖和電腦網路圖解(英语:Computer