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

servlets init

4127 просмотра

1 ответ

1018 Репутация автора

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

Автор: coder Источник Размещён: 27.09.2008 10:39

Ответы (1)


18 плюса

19553 Репутация автора

Решение

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

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

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

Автор: Darron Размещён: 27.09.2008 10:53
Вопросы из категории :
32x32