Есть ли способ класса, который расширяет httpservlet и поток - PullRequest
0 голосов
/ 26 февраля 2009

Мне нужен ответ на вопрос, который я упомянул в заголовке.

Ответы [ 4 ]

4 голосов
/ 26 февраля 2009

Нет. Класс Java может иметь только один суперкласс.

Почему ты хочешь, хотя? Вы можете расширить HttpServlet и реализовать Runnable. Затем вы можете позвонить new Thread(this) - хотя, честно говоря, я бы все равно рекомендовал разделить сервлет и управляемый аспект.

3 голосов
/ 26 февраля 2009

Нет, в Java нет возможности расширяться из двух классов. Если вы хотите, вы можете сделать так, чтобы ваш класс сервлета реализовал интерфейс java.lang.Runnable. Но если бы вы лучше объяснили нам, чего вы на самом деле пытаетесь достичь, мы могли бы помочь вам лучше.

0 голосов
/ 26 февраля 2009

Посмотрите на javax.servlet.ServletContextListener для реализации потоков в веб-приложении. Обычно плохая идея запускать потоки в сервлетах - слушатель следит за тем, чтобы у вас был только один поток, и чтобы он запускался при запуске приложения. Это также позволяет элегантно остановить поток, когда приложение остановлено (то есть, когда контекст сервлета удален). Вы можете использовать шаблон Thread Monitor для отправки уведомления потоку о начале / приостановке / остановке обработки и т. Д. Методами этого шаблона будут Thread.notify () и Thread.wait (). Вы можете создать поток в методе contextInitialized ()

0 голосов
/ 26 февраля 2009

У меня есть сервлет и поток. В потоке я пытаюсь запустить командный файл и ждать 15 минут.

У меня есть кое-что в сервлете, чтобы загрузить изображение в HTML-страницу после ожидания в течение 15 минут

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...