Сервлет
Для работы приложения необходим сервлет jandcode.core.web.AppServlet
, который должен
работать в контейнере сервлетов, поддерживающим как минимум Servlet API 3.1.
Пример файла web.xml
для приложения:
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>jandcode-core-web</servlet-name>
<servlet-class>jandcode.core.web.AppServlet</servlet-class>
<init-param>
<param-name>app</param-name>
<param-value>app.cfx</param-value>
</init-param>
<init-param>
<param-name>log</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>servlet.ref</param-name>
<param-value>main.servlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<multipart-config/>
</servlet>
<servlet-mapping>
<servlet-name>jandcode-core-web</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<error-page>
<location>/showerror</location>
</error-page>
</web-app>
Параметры сервлета
-
app
- имя файла с конфигурацией приложения. Если параметр не указан, ищется файлapp.cfx
в каталогеWEB-INF
-
log
- имя файла с настройками логирования logback. Если значение параметра не содержит пути и файл не найден в каталогеWEB-INF
, он последовательно ищется в каталогах выше каталогаWEB-INF
. Если он вообще не найден или параметр не указан, то логирование полностью отключается -
servlet.ref
- имя атрибута контекста сервлета, в который будет помещена ссылка на сервлет. Если параметр не указан, то он игнорируется. Ссылка на сервлет позволяет организовать доступ к приложению сервлета (объектуjandcode.core.App
) из другого сервлета:AppServlet mainServlet = (AppServlet) getServletContext().getAttribute("main.servlet"); App mainApp = mainServlet.getApp();
web.xml не обязателен
При запуске web-приложения из командной строки или из ide,
web.xml
не используется. Его содержимое генерируется в момент запуска web-сервера.