Светлин Наков
J2EE Web-приложенията представляват съвкупност от файлове, които се разполагат в поддиректориите на дадена директория с фиксирана структура. Тази директория се нарича основна (или главна) за Web-приложението и структурата й се задава от J2EE спецификацията. За всеки тип файлове спецификацията определя точно местоположение в рамките на структурата на приложението:
- JSP файловете се разполагат в главната директория на приложението или в поддиректории, създадени от програмиста с цел по-добро структуриране на приложението.
- Настройките на приложението се задават в специалния конфигурационен файл с име web.xml намиращ се в поддиректория WEB-INF.
- Класовете, които приложението използва се разполагат в поддиректория WEB-INF\classes. В същата директория се разполагат и Java сървлетите. Ако класовете имат пакети, за тях се създават съответни поддиректории.
- Java архивите, които могат да съдържат класове, изображения и други ресурси се разполагат в поддиректория WEB-INF\lib. Най-често в тази lib директория се разполагат библиотеки с класове, които приложението използва.
Благодарение на тази фиксирана структура на приложението Web-контейнерът знае къде да търси различните файлове, когато му потрябват.
Обикновено всички файлове заедно с цялата структура на директориите се записва в Java архив (ZIP файл) с име името на Web-приложението и с разширение .war. Например едно приложение за Web-базиран дискусионен форум може да се казва forum.war и да представлява .zip файл със следната структура:
WEB-INF/
web.xml
classes/
CommonUtils.class
DeleteServlet.class
lib/
xercesImpl.jar
xml-apis.jar
header.jsp
login.jsp
logout.jsp
footer.jsp
postMessage.jsp
showMessages.jsp
|
При deploy-ване на приложението в Web-контейнера, който ще го изпълнява (например на сървър Tomcat), файлът, в който то се намира (в нашия случай forum.war) се разархивира от сървъра и за приложението се създава виртуална Web директория, достъпна от някакъв URL адрес, например http://www.myserver.com/forum/. Ако не е указано друго, директорията има името на Web-приложението.