Webarkiv | |
---|---|
Udvidelse | .war |
MIME -type | applikation/java-arkiv |
Udvikler | Sun Microsystems |
Formattype | filformat |
Indeholder | JSP , Java-servlets |
Udvidet fra | ZIP |
Webarkiv eller webapplikationsressource [1] er et filformat, der beskriver, hvordan en komplet webapplikation pakkes i henhold til Java-servlet -specifikationen i en JAR- eller ZIP -fil . [2] Disse filer har filtypenavnet " .war" og kaldes derfor også "WAR-filer".
Fordele ved WAR-filer:
Følgende eksempel viser strukturen af webarkivet .
/index.html /gæstebog.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.MFBemærk, at mappen " WEB-INF" indeholder en såkaldt Deployment Descriptor ved navn " web.xml", som definerer alle servlets og andre egenskaber for webapplikationen. Hvis applikationen kun indeholder JSP-filer, er denne fil ikke strengt påkrævet.
Et eksempel på en web.xml -implementeringsdeskriptor , der demonstrerer servlet -specifikationen :
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//DA" "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> <ressource-ref> <beskrivelse> Ressourcehenvisning til en fabrik for javax.mail.Session tilfælde, der kan bruges til at sende elektroniske postmeddelelser, forudkonfigureret til at oprette forbindelse til den relevante 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>Mappen /WEB-INF/classes er i klassestien til ClassLoader . Disse .class java-filer vil blive indlæst, når webapplikationen indlæses og begynder at køre. Alle JAR-filer, der findes i mappen /WEB-INF/lib, vil også blive placeret på klassestien .
Du kan oprette et WAR-arkiv:
Alle J2EE-containere understøtter WAR-filer.
For at webcontaineren ( webserveren ) kan læse implementeringsbeskrivelsen og begynde at omdirigere anmodninger til denne applikation, skal du implementere (implementere) WAR-filen i containeren. En mulighed for implementering er at kopiere WAR-filen til webcontainerens autodeploy-bibliotek.
En WAR kan signeres digitalt på samme måde som en JAR-fil for at verificere kodens ægthed.
Applikationer installeret fra WAR-filer på samme server kan ikke bruge hinandens ressourcer, deres udførelse er isoleret. De kan dog bruge delte serverbiblioteker (f.eks. har Tomcat dem i ${catalina.base}/lib), men sådanne biblioteker kan ikke installeres ved hjælp af war-filen.