запустить программу сервлета в Tomcat 6.0 - PullRequest
2 голосов
/ 20 марта 2010

Как я могу запустить программу сервлета в Tomcat 6.0?

Ответы [ 2 ]

7 голосов
/ 20 марта 2010

Во-первых, вам нужно объявить свой сервлет в дескрипторе веб-развертывания (файл 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 для вызова сервлета
1 голос
/ 20 марта 2010

Создав веб-приложение и поместив его в корень веб-приложения, так же, как в другой версии tomcat или в любом другом контейнере сервлетов.

...