Конструктор Servlet и init () метод

Почему нам нужен init () метод в сервлете? Разве мы не можем использовать конструктора для инициализации?

7
задан coder 27 September 2008 в 10:39
поделиться

1 ответ

Поскольку Сервлет является интерфейсом, не абстрактным классом. Аргументы конструктора не могут быть указаны в интерфейсе, таким образом, ServletContext должен быть указан на нормальной сигнатуре метода.

Это позволяет серверу приложений знать, как инициализировать любую реализацию Сервлета правильно.

Другое решение состояло бы в том, чтобы потребовать, но не осуществить во время компиляции, взятие конструктора ServletContext. Сервер приложений затем вызвал бы конструктора через отражение. Однако разработчики спецификации Сервлета не сделали выбрал этот путь.

18
ответ дан 6 December 2019 в 10:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: