Ответ
JBoss/WildFly определяет точку входа (стартовый компонент) через дескрипторы развёртывания и аннотации.
Основные механизмы:
-
Деплоймент-дескриптор
web.xml(Servlet): Указывает сервлет и его URL-шаблон, который будет обрабатывать начальные запросы.<web-app> <servlet> <servlet-name>MainServlet</servlet-name> <servlet-class>com.example.MainServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MainServlet</servlet-name> <url-pattern>/start</url-pattern> <!-- Точка входа по /start --> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <!-- Стартовая страница --> </welcome-file-list> </web-app> -
Аннотации (Servlet 3.0+): Класс, помеченный
@WebServlet, автоматически регистрируется сервером.@WebServlet("/app/*") // Обрабатывает все запросы, начинающиеся с /app/ public class ApplicationServlet extends HttpServlet { ... } -
Стартовые EJB-компоненты: Singleton-бин с аннотацией
@Startupвыполнится при запуске приложения.@Singleton @Startup public class InitializationBean { @PostConstruct public void init() { // Код инициализации при старте сервера } } -
Фреймворки: При использовании JSF, Spring Boot или других фреймворков точка входа определяется их конфигурацией (например, контроллер с
@Controllerв Spring,index.xhtmlв JSF).
Сервер сканирует развёрнутый артефакт (WAR/EAR) и активирует компоненты согласно этим правилам.