На самом деле вы не добавляете классы в файл web.xml, и вам не нужно указывать их расположение в файле web.xml.
Добавьте их в подкаталог WEB-INF / classes вашего war-файла (в их соответствующем вложенном иерархическом каталоге) или, если классы уже упакованы в файлы JAR, добавьте их в подкаталог WEB-INF / lib. каталог вашего военного файла.
Файл web.xml содержит две очень важные карты.
- Он сопоставляет шаблон URL с именем сервлета.
- Отображает имя сервлета в класс.
Как только вы убедитесь, что класс находится в файле WAR, вам необходимо убедиться, что вы вызываете правильный URL. Запись типа
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
означает, что звонить
http://myserver:port/webappName/HelloServlet
будет перенаправлен на сервлет "HelloServlet". Запись типа
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>mypackage.HelloServlet</servlet-class>
</servlet>
убедится, что все запросы к сервлету "HelloServlet" направлены в класс mypackage.HelloServlet
, который может находиться во внутреннем WEB-INF\classes\mypackage\HelloServlet.class
WAR. В качестве альтернативы он может находиться во внутреннем файле WEB-INF\lib\myjar.jar
WAR при условии, что файл myjar.jar
содержит файл mypackage\HelloServlet.class
.
Удачи!