stringtranslate.com

ВОЙНА (формат файла)

В разработке программного обеспечения файл WAR ( ресурс веб - приложения [1] или AR- архив веб -приложения [ 2] ) — это файл , используемый для распространения коллекции JAR -файлов, страниц JavaServer , Java-сервлетов , классов Java , XML. файлы, библиотеки тегов, статические веб-страницы ( HTML и связанные файлы) и другие ресурсы, которые вместе составляют веб-приложение .

Содержание и структура

Файл WAR может быть подписан цифровой подписью так же, как файл JAR , чтобы позволить другим определить, откуда взялся исходный код.

Внутри файла WAR есть специальные файлы и каталоги:

Преимущества файлов WAR

Если предположить, что в производственных средах исправление не предлагается без достаточного тестирования перед развертыванием, файл WAR имеет явное преимущество, когда файлы свойств используются для идентификации переменных, специфичных для среды. Например, сервер LDAP в тестовой среде может иметь вид ldaps://testauth.example.com:636. Сервер LDAP в производственной среде — это ldaps://auth.example.com:636. Внешний файл свойств будет определять ссылку примерно так:

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

Исходный код считывает файл свойств, чтобы определить целевой сервер LDAP. Таким образом, разработчики могут быть уверены, что протестированный и проверенный файл WAR точно такой же, как тот, который передается в производство.

Недостатки файлов WAR

Некоторые считают, что веб-развертывание с использованием файлов WAR невыгодно, когда для динамических сред требуются незначительные изменения в исходном коде. Каждое изменение исходного кода должно быть переупаковано и развернуто в разработке. [3] Это не требует остановки веб-сервера, если он настроен для развертывания во время выполнения. [4]

Пример

Следующий пример файла web.xml демонстрирует объявление и ассоциацию сервлета :

<?xml version="1.0"coding="UTF-8"?> <!DOCTYPE веб-приложение  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> <description> Ссылка на ресурс для фабрики экземпляров javax.mail.Session , которые можно использовать для отправки сообщений электронной почты , предварительно настроенных для подключения к соответствующему SMTP - серверу. </description> <res-ref-name> mail/Session </res-ref-name> <res-type> javax.mail.Session </res-type> <res-auth> Контейнер </res-auth> </resource-ref> </ веб-приложение>                               

Каталог /WEB-INF/classesнаходится в пути к классам ClassLoader . (Путь к классам представляет собой список мест, из которых файлы могут быть загружены и выполнены JVM.) Каталог содержит классы, связанные с самим веб-приложением..class/WEB-INF/classes

Любые файлы JAR, помещенные в /WEB-INF/libкаталог, также будут помещены в путь к классам ClassLoader.

Смотрите также

Рекомендации

  1. ^ Кроссли, Аллистер. «Apache Tomcat 8 (8.0.44) — развертывание веб-приложения Tomcat». Фонд программного обеспечения Apache . Проверено 27 июня 2017 г.
  2. ^ Хантер, Джейсон (15 октября 1999 г.). «Что нового в API сервлетов Java 2.2?». JavaWorld . Проверено 8 ноября 2020 г.
  3. ^ «Жизненный цикл веб-приложения». Учебное пособие по Java EE 6 . Оракул .
  4. ^ «Развертывание на работающем сервере Tomcat». Фонд программного обеспечения Apache .

Внешние ссылки