Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как запустить сервлет в eclipse?

Автор вопроса: Murali Krishna PinjalaОтветов: 3

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

eclipseservlets

Ответы

Ответ 1 · рейтинг 2 · BalusC

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

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

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

Ответ 2 · рейтинг 1 · duffymo

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

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

Ответ 3 · Jesper Hedlund

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы