Убедитесь, что у вас есть нужные Eclipse и сервер
Убедитесь, что вы используете как минимум Eclipse IDE для Java EE разработчиков (с EE ).Он содержит инструменты разработки для создания динамических веб-проектов и простой интеграции контейнеров сервлетов (эти инструменты являются частью Web Tools Platform, WTP).Если у вас уже была Eclipse IDE для Java (без EE) и вы вручную установили некоторые плагины, связанные с EE, то есть вероятность, что это было сделано неправильно.Лучше всего удалить его и взять реальную среду разработки Eclipse для Java EE.
Вам также необходимо убедиться, что на вашей машине уже установлен контейнер сервлетов, в котором реализована, по крайней мере, та же версия API сервлетов, что и в сервлетконтейнере.в производственной среде, например Apache Tomcat , Oracle GlassFish , JBoss AS / WildFly и т. д. Обычно просто загружают ZIPфайл и распаковка его достаточно.В случае Tomcat не загружайте формат EXE, это только для производственных сред на базе Windows.См. Также ao Несколько портов (8005, 8080, 8009), необходимых для Tomcat Server на локальном хосте, уже используются .
Контейнер сервлета - это конкретная реализация API сервлета.Обратите внимание, что Java EE SDK , загружаемый с Oracle.com, в основном содержит GlassFish.Так что если вы уже скачали Java EE SDK, то у вас уже есть GlassFish.Также обратите внимание, что, например, GlassFish и JBoss AS / WildFly на больше , чем просто контейнер сервлетов, они также поддерживают JSF, EJB, JPA и все другие возможности Java EE.См. Также ao Что такое Java EE?
Интегрировать сервер в Eclipse и связать его с проектом
После установки Eclipse для Java EE и контейнера сервлетовНа вашем компьютере выполните следующие действия в Eclipse:
Интегрируйте сервлет-контейнер в Eclipse
a. Через представление серверов
б. Или через настройки Eclipse
Связать сервер с проектом
a. В новом проекте
b. Или в существующем проекте
В любом случае, Eclipse автоматически примет библиотеки контейнера сервлет-контейнера в путь сборки.Таким образом, вы сможете импортировать и использовать Servlet API.
Никогда не носите с собой свободные JAR-файлы, специфичные для сервера
В любом случае вам не нужно возиться в свойстве Build Path проекта. Прежде всего, вы должны никогда вручную копировать / загружать / перемещать / включать отдельные библиотеки, специфичные для servletcontainer, такие как servlet-api.jar
, jsp-api.jar
, el-api.jar
, j2ee.jar
, javaee.jar
и т. Д. только приводят к будущим проблемам переносимости, совместимости, пути к классам и ремонтопригодности, потому что ваше веб-приложение не будет работать, когда оно развернуто на контейнере сервлетов другой марки / версии, чем те, из которых эти библиотеки изначально получены.
Если вы используете Maven, вам необходимо убедиться, что библиотеки, зависящие от servletcontainer, которые уже предоставлены целевой средой выполнения, помечены как <scope>provided</scope>
.
Вот некоторые типичные исключения, которые вы можете получить, когда мусор /WEB-INF/lib
или даже /JRE/lib
, /JRE/lib/ext
и т. Д. С библиотеками servletcontainer для небрежной попытки исправить ошибки компиляции: