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:
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.MFReț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 .
Puteți crea o arhivă WAR:
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.