Я хочу запустить сервлет в Eclipse. Для этого я создал динамический веб-проект и развернул свой файл servlet.java в папке WEB-INF. Я также добавил файл servlet.jar. Как я могу запустить файл как приложение Java?
как запустить сервлет в eclipse?
Ответы (3)
Сервлеты запускаются в контейнере сервлетов. Сервлеты не являются "простыми ванильными" 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 видеоуроки, используя очевидные ключевые слова.
Сервлеты работают в механизмах сервлетов/JSP, таких как Tomcat, Resin или Jetty. Обычно вы не запускаете их вне контейнера.
Вы, безусловно, можете развернуть свое приложение на движке сервлета/JSP и начать с Eclipse. Но вы запускаете сервер приложений, который затем действует как дом для вашего сервлета.
Сервлеты нельзя запускать напрямую как приложение Java. Я рекомендую два подхода:
Рефакторинг вашего сервлета и поместите свой код "java" (какой бы общий код вы ни хотели вызывать) в другой jar-файл, который вы вызываете как из сервлета, так и из приложения Java.
Запустите сервлет в контейнере в Eclipse. См. http://www.eclipse.org/jetty/ Связь с сервлетом через HttpRequest и HttpResponse