как запустить сервлет в затмении? - PullRequest
0 голосов
/ 01 марта 2010

Я хочу запустить сервлет в Eclipse. Для этого я создал динамический веб-проект и развернул файл servlet.java в папке WEB-INF. Я также добавил файл servlet.jar. Как я могу запустить файл как Java-приложение?

Ответы [ 3 ]

2 голосов
/ 01 марта 2010

Сервлеты запускаются в сервлет-контейнере. Сервлеты не являются "простыми ванильными" Java-приложениями. Видите, у них нет main() метода! Сервлеты прослушивают HTTP-запросы и возвращают HTTP-ответы через сеть. Запуск единственного класса сервлета в виде простого ванильного Java-приложения не заставляет их автоматически слушать и реагировать на HTTP-запросы.

Apache Tomcat - это популярный сервлет-контейнер. Просто скачайте и распакуйте его. Затем в Eclipse (я предполагаю, что вы уже загрузили версию Eclipse Java EE , в противном случае отбросьте ее все вместе и заново загрузите нужную версию), перейдите в представление Servers и добавьте только что установленный экземпляр Tomcat. Затем создайте динамический веб-проект, в котором вы выбираете вновь интегрированный экземпляр сервера из списка. Затем Eclipse автоматически возьмет библиотеки API сервлетов в classpath / buildpath (таким образом, вам НЕ нужно отдельно загружать случайный «файл servlet.jar»! Это всего лишь квитанция об основных проблемах). Затем создайте класс сервлета и зарегистрируйте его в web.xml. Затем разверните проект на новом интегрированном сервере и запустите его. Затем в вашем любимом браузере перейдите на http://hostname:port/contextname, что обычно составляет http://localhost:8080/webprojectname.

Чтобы узнать больше о сервлетах (а также Eclipse и Tomcat), я настоятельно рекомендую вам ознакомиться с этими уроками . Вы также можете искать на YouTube видеоруководства, используя очевидные ключевые слова.

1 голос
/ 01 марта 2010

Сервлеты работают в двигателях сервлетов / JSP, таких как Tomcat, Resin или Jetty. Обычно вы не запускаете их вне контейнера.

Вы, безусловно, можете развернуть свое приложение на движке сервлета / JSP и запустить его из Eclipse. Но это сервер приложений, который вы запускаете и который служит домом для вашего сервлета.

0 голосов
/ 01 марта 2010

Сервлеты нельзя запускать напрямую как приложение Java. Я рекомендую два подхода:

  1. Выполните рефакторинг вашего сервлета и поместите ваш код java (какой бы универсальный код вы ни хотели вызвать) в другой jar, который вы вызываете как из сервлета, так и из приложения Java.

  2. Запустите сервлет в контейнере в Eclipse. Смотри http://www.eclipse.org/jetty/ Связь с сервлетом через HttpRequest и HttpResponse

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