Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> run HelloWorld servlet by Jetty 
:(
    Опции темы
_ren_
Дата 9.5.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Привет.
Вопрос новичка.
Взял пример простейшего сервлета:

Код

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;


public class TestServlet extends HttpServlet
{
    /* ------------------------------------------------------------ */
    public void init(ServletConfig config) throws ServletException
    {
     super.init(config);
    }

    /* ------------------------------------------------------------ */
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        doGet(request, response);
    }

    /* ------------------------------------------------------------ */
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        response.setContentType("text/html");
        ServletOutputStream out = response.getOutputStream();
        out.println("<html>");
        out.println("<h1>Hello World</h1>");
        out.println("</html>");
        out.flush();
    }    
}


Захотел запустить это дело под Jetty-6.1.0.
Посмотрел README.txt у Jetty:

"Jetty depends ONLY on a jre 1.4 runtime and the three jars found in
the top level of the $JETTY_HOME/lib directory:

  servlet-api-2.5-$VERSION.jar
  jetty-$VERSION.jar
  jetty-util-$VERSION.jar"

Соответственно, собрал класс TestServlet с подключением библиотек
servlet-api-2.5.jar и rt.jar из jre 1.4.

Поместил TestServlet.class в 
\jetty-6.1.0\webapps\test\WEB-INF\classes\com\acme\

Добавил в \jetty-6.1.0\webapps\test\WEB-INF\web.xml новые данные:

Код

  <servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>com.acme.TestServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/hi/*</url-pattern>
  </servlet-mapping>


Запустил Jetty и получил в ответ пакет ругани,
начинающийся с:
Error starting handlers java.lang.NoClassDefFoundError:
com/acme/TestServlet (wrong name TestServlet)

После этого Jetty перестала "видеть" и предустановленные
сервлеты-примеры, выдавая ERROR 404 на обращение к
http://localhost:8080/

Был бы благодарен за подсказку: в чём здесь может быть загвоздка.
Спасибо.


Это сообщение отредактировал(а) tux - 9.5.2007, 18:38
PM MAIL   Вверх
Stampede
Дата 9.5.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



_ren_, чтобы твой класс TestServlet распознавался под полным именем com.acme.TestServlet, недостаточно просто поместить его в директорию com/acme. Надо еще в исходнике прописать название пакета. Первой строчкой пишешь:

Код

package com.acme;

// и далее по тексту
import javax.servlet.*;
import javax.servlet.http.*;
...


В остальном все вроде нормально.

ЗЫ. Пользуйся подсветкой синтаксиса (кнопка "Код") - так гораздо удобнеее читать.



--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
_ren_
Дата 9.5.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Stampede, спасибо за совет!
Jetty ругаться перестала.
Но по-прежнему игнорирует новый сервлет, несмотря на то,
что код у него тот же, что и в предустановленном у Jetty
сервлете HelloWorld (лишь названия и url-pattern разные)
- задача пока просто оживить тот же код самостоятельно.


Это сообщение отредактировал(а) _ren_ - 9.5.2007, 19:38
PM MAIL   Вверх
Stampede
Дата 9.5.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Цитата(_ren_ @  9.5.2007,  10:34 Найти цитируемый пост)
Jetty ругаться перестала.
Но по-прежнему игнорирует новый сервлет


Какой адрес вводишь в адресной строке браузера и что видишь в окне?


--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
_ren_
Дата 9.5.2007, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



> Какой адрес

http://localhost:8080/hi/

В браузере:

HTTP ERROR: 404

NOT_FOUND

RequestURI=/hi/

Powered by jetty://

PM MAIL   Вверх
Stampede
Дата 9.5.2007, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Должен быть такой: http://localhost:8080/test/hi/

Это потому что все приложение развернуто под webapps/test



--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
_ren_
Дата 9.5.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



 smile Порядок!
PM MAIL   Вверх
v2v
Дата 29.6.2007, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Цитата(_ren_ @ 9.5.2007,  18:19)
Добавил в \jetty-6.1.0\webapps\test\WEB-INF\web.xml новые данные:

Код

  <servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>com.acme.TestServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/hi/*</url-pattern>
  </servlet-mapping>




Как я понял при создании каждого нового сервлета надо добавлять такой кусок кода, а нет каких то автоматических средств, что делали бы это сами?
(Сервер Tomcat)


--------------------
PM   Вверх
batigoal
Дата 1.7.2007, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Цитата(v2v @  29.6.2007,  11:21 Найти цитируемый пост)
Как я понял при создании каждого нового сервлета надо добавлять такой кусок кода, а нет каких то автоматических средств, что делали бы это сами?

В различных IDE обычно есть (xто-нибудь типа New --> Servlet Class).


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
v2v
Дата 1.7.2007, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



не юзаю ide. пыаюся все нюансы разобрать вручную...


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0991 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.