Во-первых, вам нужно объявить свой сервлет в дескрипторе веб-развертывания (файл web.xml
), который выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>HelloWorldExample</servlet-name>
<servlet-class>cnx.mywebapp.HelloWorldExample</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldExample</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
По сути, идея состоит в том, чтобы объявить полное имя вашего сервлета в элементе servlet
и сопоставить его с шаблоном URL в servlet-mapping
(отображение выполняется через уникальное имя сервлета)
Затем вам нужно упаковать все (файл сервлета .class
и дескриптор развертывания) в архив веб-приложения (с расширением .war
), который имеет определенную структуру:
mywebapp
|-- WEB-INF
| |-- classes (java classes, including your servlet, go here)
| |-- lib (jar dependencies go here)
| `-- web.xml (this is the deployment descriptor)
`-- index.jsp
Наконец, разверните (скопируйте) .war в каталоге webapps
Tomcat. Для доступа к сервлету:
http://localhost:8080/mywebapp/hello
A B C D
Где:
- A - это имя хоста, на котором запущен Tomcat (здесь локальный компьютер)
- B - это порт, который слушает Tomcat (по умолчанию 8080)
- C - это контекстный путь для доступа к веб-приложению (по умолчанию название войны)
- D - шаблон, объявленный в web.xml для вызова сервлета