2010-01-20 2 views
1

Я изучаю сервлеты. Я читал, что сервлеты являются Java-программами, но в сервлете нет конструктора ... Может ли кто-нибудь подробно остановиться на нем?Почему в сервлете нет конструктора?

+0

Вы ошибаетесь, серверы не являются Java-программами, они являются классами, и каждый класс имеет как минимум 1 конструктор, даже если он является конструктором no-arg по умолчанию. –

ответ

9

Как и в любом другом классе Java, но его не нужно вызывать. Вебконтейнер вызовет его для вас.

Большинство сервлетов не содержат данные экземпляра, поэтому большая часть добавления кода в конструкторе не имеет никакого смысла.

2

Если вам нужно инициализировать сервлет, вам придется переопределить метод init.

1

В сервлете есть конструктор (посмотрите, например, HttpServlet), но обычно веб-контейнер позаботится о его вызове.

Однако, когда вы реализуете сервлет, вы обычно озабочены только перекрывая doGet() и doPost() метод (или метод service(), если вы работаете с другими, чем HttpServlet)

0

Ya мы можем определенно иметь конструктор в servlet.Even вы можете использовать constrctor в сервле для цели инициализации, но этот тип утверждения не является таким обычным явлением. Вы можете выполнять общие операции с конструктором, как вы обычно делаете. Единственное, что вы не можете явно вызвать этот конструктор новое ключевое слово, как мы обычно делаем. В случае сервлет-сервлет-контейнера отвечает за инстанцирование сервлета, поэтому конструктор также вызывается только контейнером сервлета.

0

Да, мы можем иметь конструктор внутри сервлета, но единственный недостаток, когда мы определяем сервлет конструктора, не может получить начальные параметры, и поэтому мы используем метод init() для инициализации сервлета.

Смежные вопросы