WAR (tip de fișier)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 22 martie 2015; verificările necesită 12 modificări .
Arhiva web
Extensie .war
tip MIME aplicație/java-arhivă
Dezvoltator Microsisteme solare
Tip de format tipul fisierului
Conține JSP , servlet-uri Java
Extins din ZIP

Web Archive sau Web Application Resource [1]  este un format de fișier care descrie modul în care o aplicație web completă este împachetată conform specificației Java servlet într-un fișier JAR sau ZIP . [2] Aceste fișiere au extensia „ .war” și, prin urmare, sunt numite și „fișiere WAR”.

Beneficiile fișierelor WAR:

Structura

Următorul exemplu arată structura arhivei web .

/index.html /guestbook.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

Rețineți că WEB-INFdirectorul " " conține așa-numitul Descriptor de implementareweb.xml numit " ", care definește toate servleturile și alte proprietăți ale aplicației Web. Dacă aplicația conține doar fișiere JSP, acest fișier nu este strict necesar.

Un exemplu de descriptor de implementare web.xml care demonstrează specificația servlet -ului :

<?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> <descriere> Referință de resurse la o fabrică pentru javax.mail.Session cazuri care pot fi utilizate pentru trimiterea de mesaje electronice, preconfigurat pentru a se conecta la serverul SMTP corespunzător. </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>

Directorul /WEB-INF/classes se află în calea clasei ClassLoader . Aceste fișiere java .class vor fi încărcate când aplicația web se încarcă și începe să ruleze. Orice fișier JAR găsit în directorul /WEB-INF/lib va ​​fi de asemenea plasat pe classpath .

Creare

Puteți crea o arhivă WAR:

  • ambalator inclus cu J2EE SDK .
  • Prin rularea sarcinii „război” în Apache Ant .
  • Prin rularea comenzii „mvn clean install” în Apache Maven .
  • Utilitar JAR inclus cu J2SE . Trebuie doar să vă asigurați că structura de directoare a aplicației dvs. se potrivește cu cea cerută de formatul WAR. Doar rulați următoarea comandă în directorul rădăcină al aplicației dvs.:
jar cvf archiveName.war .

Aplicație

Toate containerele J2EE acceptă fișiere WAR.

Pentru ca containerul web (server web ) să citească descriptorul de implementare și să înceapă să redirecționeze cererile către această aplicație, trebuie să implementați (desfășurați) fișierul WAR în container. O opțiune pentru implementare este să copiați fișierul WAR în directorul de implementare automată al containerului web.

Un RĂZBOI poate fi semnat digital în același mod ca un fișier JAR pentru a verifica autenticitatea codului.

Aplicațiile instalate din fișierele WAR pe același server nu pot folosi resursele reciproc, execuția lor este izolată. Cu toate acestea, pot folosi biblioteci de server partajate (de exemplu, Tomcat le are în ${catalina.base}/lib), dar astfel de biblioteci nu pot fi instalate folosind fișierul war.

Note

  1. Apache Tomcat 9 - Implementarea aplicației web Tomcat . Consultat la 2 iunie 2019. Arhivat din original pe 2 iunie 2019.
  2. Danny Coward, Yutaka Yoshida: Java™ Servlet Specification, Versiunea 2.4. Arhivat din original pe 7 ianuarie 2010. 24 noiembrie 2003

Vezi și