WAR (filtyp)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 22 mars 2015; kontroller kräver 12 redigeringar .
Webbarkiv
Förlängning .war
MIME -typ applikation/java-arkiv
Utvecklaren Sun Microsystems
Formattyp filformat
Innehåller JSP , Java-servlets
Utökad från blixtlås

Web Archive eller Web Application Resource [1]  är ett filformat som beskriver hur en komplett webbapplikation paketeras enligt Java-servletspecifikationen till en JAR- eller ZIP -fil . [2] Dessa filer har tillägget " .war" och kallas därför även "WAR-filer".

Fördelar med WAR-filer:

Struktur

Följande exempel visar strukturen för webbarkivet .

/index.html /gästbok.jsp /images/logo.png /WEB-INF/web.xml /WEB-INF/classes/org/wikipedia/Util.class /WEB-INF/classes/org/wikipedia/MainServlet.class /WEB-INF/lib/util.jar /META-INF/MANIFEST.MF

Observera att WEB-INFkatalogen " " innehåller en så kallad Deployment Descriptor som heter " web.xml", som definierar alla servlets och andra egenskaper för webbapplikationen. Om applikationen endast innehåller JSP-filer är den här filen absolut inte obligatorisk.

Ett exempel på en web.xml- distributionsbeskrivning som visar servletspecifikationen :

<?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> <resurs-ref> <beskrivning> Resursreferens till en fabrik för javax.mail.Session instanser som kan användas för att skicka e-postmeddelanden, förkonfigurerad för att ansluta till lämplig SMTP-server. </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>

Katalogen /WEB-INF/classes finns i klasssökvägen för ClassLoader . Dessa .class java-filer kommer att laddas när webbapplikationen laddas och börjar köras. Alla JAR-filer som hittas i katalogen /WEB-INF/lib kommer också att placeras på klasssökvägen .

Skapande

Du kan skapa ett WAR-arkiv:

  • packare medföljer J2EE SDK .
  • Genom att köra "krigs"-uppgiften i Apache Ant .
  • Genom att köra kommandot "mvn clean install" i Apache Maven .
  • JAR-verktyg ingår i J2SE . Du behöver bara se till att din applikations katalogstruktur matchar den som krävs av WAR-formatet. Kör bara följande kommando i din applikations rotkatalog:
jar cvf archiveName.war .

Applikation

Alla J2EE-behållare stöder WAR-filer.

För att webbbehållaren ( webbservern ) ska kunna läsa distributionsbeskrivningen och börja omdirigera förfrågningar till denna applikation, måste du distribuera (distribuera) WAR-filen i behållaren. Ett alternativ för att distribuera är att kopiera WAR-filen till webbbehållarens autodeploy-katalog.

En WAR kan signeras digitalt på samma sätt som en JAR-fil för att verifiera kodens autenticitet.

Applikationer installerade från WAR-filer på samma server kan inte använda varandras resurser, deras exekvering är isolerad. Däremot kan de använda delade serverbibliotek (till exempel Tomcat har dem i ${catalina.base}/lib), men sådana bibliotek kan inte installeras med hjälp av war-filen.

Anteckningar

  1. Apache Tomcat 9 - Implementering av Tomcat-webbapplikationer . Hämtad 2 juni 2019. Arkiverad från originalet 2 juni 2019.
  2. Danny Coward, Yutaka Yoshida: Java™ Servlet Specification, version 2.4. Arkiverad från originalet den 7 januari 2010. 24 november 2003

Se även