Как запустить приложение в Tomcat? - PullRequest
1 голос
/ 15 июня 2010

Я поместил свой проект в каталог tomcat_home / webapps /. Структура: имя_проекта / WEB-INF / классы. в WEB-INF я поместил свой дескриптор web.xml. Проблема в том, что когда я пытаюсь запустить приложение, оно не находит файлы. Ошибка:

The requested resource () is not available.

Мой контент web.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

    version="2.4">
<servlet>
   <servlet-name>Chapter1 Servlet</servlet-name>
   <servlet-class>Ch1Servlet</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>Chapter1 Servlet</servlet-name>
   <servlet-url>/Serv1</servlet-url> 
</servlet-mapping>
</web-app>

Я также перезапустил сервер, но он не хочет работать. Есть предложения?

Ответы [ 5 ]

1 голос
/ 15 июня 2010

Вам нужно выбросить то, что у вас есть, начать заново и пройти через это очень внимательно:

http://tomcat.apache.org/tomcat-6.0-doc/appdev/index.html

Что вы узнали до сих пор?

  1. Ваш сервлет .class должен быть в упаковке.Вы должны увидеть WEB-INF / classes / com.foo.Bar.class, если ваш класс Bar.jar с package com.foo; в верхней части
  2. Упакуйте ваше приложение в WAR с именем MyApp и поместите его в /веб-приложения для его развертывания.
  3. URL-адрес должен быть http://localhost:8080/MyApp/Bar, если вы сопоставляете com.foo.Bar с / Bar

Принуждение людей делать предложения и повторениечто «это не работает», не приведет вас туда, где вам нужно.

1 голос
/ 15 июня 2010

Есть ли у вашего сервлета пространство имен.В теге вам необходимо полностью определить класс Ch1Servlet, т.е. my.code.Ch1Servlet

--- Дополнительно после прочтения комментариев -----

Хорошо, попробуйте это.Создайте контекст для вашего веб-приложения.Создайте файл с именем project_name.xml и поместите в него следующее:

<Context path="/Serv1" docBase="webapps/project_name" 
         reloadable="true" debug="0" privileged="true">
</Context>

Теперь поместите файл xml в каталог webapps.

Если вы развертываете WAR, тогда замените docBase как"WebApps / project_name.war"

0 голосов
/ 15 июня 2010

Как насчет http://localhost:8080/Serv1 без имени веб-приложения в URL?

0 голосов
/ 15 июня 2010

Похоже, вам нужно поместить свой сервлет в пакет, например, com.me.Ch1Servlet.Затем измените объявление класса сервлетов на <servlet-class>com.me.Ch1Servlet</servlet-class>

0 голосов
/ 15 июня 2010

Если вы используете серверный файл по умолчанию, который поставляется с Tomcat, вам не нужно изменять его, чтобы просто запустить ваше веб-приложение.Вы пытались получить к нему доступ по следующему URL: http://localhost:8080/project_name/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...