WOJNA (format pliku)

Archiwum internetowe
Rozszerzenie nazwy pliku
.wojna
Rodzaj mediów internetowych aplikacja/archiwum java
magiczny numer PK\x03\x04 (standardowy plik ZIP)
Opracowany przez Mikrosystemy Słońca
Pojemnik na JSP , serwlet Java
Przedłużony od SŁOIK

W inżynierii oprogramowania plik WAR ( Web Application Resource lub Web application AR chive) to plik używany do dystrybucji kolekcji plików JAR , stron JavaServer , serwletów Java , klas Java , plików XML , bibliotek znaczników, statycznych strony internetowe ( pliki HTML i powiązane) oraz inne zasoby, które razem tworzą aplikację internetową .

Treść i struktura

Plik WAR może być podpisany cyfrowo w taki sam sposób jak plik JAR , aby umożliwić innym ustalenie, skąd pochodzi kod źródłowy.

W pliku WAR znajdują się specjalne pliki i katalogi:

  • Katalog /WEB-INF w pliku WAR zawiera plik o nazwie web.xml , który definiuje strukturę aplikacji internetowej. Jeśli aplikacja internetowa obsługuje tylko pliki JSP, plik web.xml nie jest bezwzględnie konieczny. Jeśli aplikacja internetowa korzysta z serwletów, kontener serwletów używa pliku web.xml w celu ustalenia, do którego serwletu adres URL żądanie zostanie przekierowane. Plik web.xml jest również używany do definiowania zmiennych kontekstowych, do których można się odwoływać w serwletach, oraz do definiowania zależności środowiskowych, które ma skonfigurować wdrażający. Przykładem tego jest zależność od sesji poczty używanej do wysyłania wiadomości e-mail. Za świadczenie tej usługi odpowiedzialny jest kontener serwletu.

Zalety plików WAR

  • Łatwe testowanie i wdrażanie aplikacji internetowych
  • Łatwa identyfikacja wersji wdrożonej aplikacji
  • Wszystkie kontenery Java EE obsługują pliki WAR
  • MVC obsługuje pliki WAR.

Zakładając, że środowiska produkcyjne nie promują poprawki bez wystarczających testów przed wdrożeniem, plik WAR ma wyraźną przewagę, gdy pliki właściwości są używane do identyfikowania zmiennych specyficznych dla środowiska. Na przykład serwer LDAP w środowisku testowym może mieć postać ldaps://testauth.example.com:636 . Serwer LDAP w środowisku produkcyjnym to ldaps://auth.example.com:636 . Zewnętrzny plik właściwości definiowałby łącze z czymś takim jak:

LINKED_PAGE=ldaps://testauth.example.com:636

Kod źródłowy odczytuje plik właściwości, aby określić docelowy serwer LDAP. W ten sposób programiści mogą mieć pewność, że przetestowany i zweryfikowany plik WAR jest dokładnie taki sam, jak ten, który jest promowany do produkcji.

Wady plików WAR

Niektórzy uważają, że wdrażanie sieciowe przy użyciu plików WAR jest niekorzystne, gdy w dynamicznych środowiskach wymagane są niewielkie zmiany w kodzie źródłowym. Każda zmiana w kodzie źródłowym musi zostać przepakowana i wdrożona w fazie programowania. Nie wymaga to zatrzymywania serwera WWW, jeśli jest skonfigurowany do wdrażania w czasie wykonywania.

Przykład

Poniższy przykładowy plik web.xml demonstruje deklarację i powiązanie serwletu :







    
        
        
    

    
         <?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE aplikacja internetowa  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "  http://java. <  _  _  _  _  _  _  _  _  _ /servlet>  <mapowanie-servletu>  <nazwa-servletu>  HelloServlet  </nazwa-servletu> 
        
    

    
        
        
        
         <url-pattern>  /HelloServlet  </url-pattern>  </servlet-mapping>  <resource-ref>  <description>  Odniesienie do zasobu fabryki instancji javax.mail.Session, które mogą być używane do wysyłania wiadomości poczty elektronicznej, wstępnie skonfigurowane aby połączyć się z odpowiednim serwerem SMTP.  </description>  <res-ref-name>  mail/Session  </res-ref-name>  <res-type>  javax.mail.Session  </res-type>  <res-auth>  Kontener 
    
 </res-auth>  </resource-ref>  </aplikacja internetowa> 

Katalog /WEB-INF/classes znajduje się w ścieżce klasy programu ClassLoader . (Ścieżka klasy składa się z listy lokalizacji, z których JVM może ładować i wykonywać pliki .class .) Katalog /WEB-INF/classes zawiera klasy powiązane z samą aplikacją WWW.

Wszelkie pliki JAR umieszczone w katalogu /WEB-INF/lib zostaną również umieszczone w ścieżce klasy programu ClassLoader.

Zobacz też

Linki zewnętrzne