Расширение имени файла | .war |
---|---|
Magic number | PK \ x03 \ x04 (стандартный файл ZIP) |
Разработано | Sun Microsystems |
Контейнер для | JSP, Java Servlet |
Расширен из | JAR |
в разработка программного обеспечения, файл WAR (W eb A pplication R esource или W eb application AR chive) - файл, используемый для распространения коллекции файлов JAR, JavaServer Pages, Java Servlets, Java классы, файлы XML, библиотеки тегов, статические веб-страницы (HTML и связанные файлы) и другие ресурсы, которые вместе составляют сеть приложение.
Файл WAR может иметь цифровую подпись таким же образом, как и файл JAR, чтобы другие могли определить, откуда пришел исходный код.
В файле WAR есть специальные файлы и каталоги:
Предполагая, что производственные среды не продвигают исправление без достаточного тестирования перед развертыванием, файл WAR имеет явное преимущество, когда файлы свойств используются для определения среды конкретные переменные. Например, сервер LDAP в тестовой среде может иметь вид ldaps: //testauth.company.com: 636. Сервер LDAP в производственной среде - ldaps: //auth.company.com: 636. Файл внешних свойств будет определять ссылку с помощью чего-то вроде:
LINKED_PAGE = ldaps: //testauth.company.com: 636
Исходный код считывает файл свойств для определения целевого LDAP сервер. Таким образом, разработчики могут быть уверены, что протестированный и проверенный WAR-файл точно такой же, как и тот, который продвигается в производственную среду.
Некоторые считают, что веб-развертывание с использованием файлов WAR является невыгодным, когда для динамических сред требуются незначительные изменения исходного кода. Каждое изменение исходного кода необходимо переупаковывать и развертывать в процессе разработки. Это не требует остановки веб-сервера, если он настроен для развертывания во время выполнения.
Следующий пример файла web.xml демонстрирует объявление и ассоциацию servlet :
HelloServlet mypackage.HelloServlet HelloServlet / HelloServlet Ссылка на ресурс фабрики для экземпляров javax.mail.Session, которые могут использоваться для отправки сообщений электронной почты, предварительно настроенных для подключения к соответствующему серверу SMTP. mail/Session javax.mail.Session Контейнер
Каталог / WEB-INF / classes находится на ClassLoader путь к классам. (Путь к классам состоит из списка мест, из которых файлы.class могут загружаться и выполняться JVM.) Каталог / WEB-INF / classes содержит классы, связанные с самим веб-приложением.
Любые файлы JAR, помещенные в каталог / WEB-INF / lib, также будут помещены в путь к классам ClassLoader.