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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring и первый тест, help 
:(
    Опции темы
fath_fast
Дата 26.4.2008, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Доброго времени суток! 
Ребята помогите разобраться. Читаю ман, вроде бы делаю всё так, как там описано а результат ноль
The requested resource (/my/mypage) is not available.
Имеем следующее.

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">
   <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  <!-- 
Без этого листнера обойтись, насколько я понял, невозможно, т.к. он прослушивает контекст приложения, 
и именно он выводит нас на DispatcherServlet
  -->
    </listener>
    <servlet>
        <servlet-name>first</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
   <!-- ИМенно благодаря этой записи мы подгружаем: ещё один конфиг-файл first-servlet.xml, в котором и описаны нужные бины
    -->
    </servlet>
    <servlet-mapping>
        <servlet-name>first</servlet-name>
        <url-pattern>/my/*</url-pattern>
    </servlet-mapping>

</web-app>



Далее first-servlet.xml:

Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

    <bean id="firController" class="my.FirController"/>

</beans>



И наконец-то сам /src/my/firController :
Код

public class FirController extends AbstractController
{
       private static int counter =0;

       private static final String PARAM_MSG="message";

      @Override
     protected ModelAndView handleRequestInternal(HttpServletRequest req, HttpServletResponse resp) throws Exception
      {

          String message = ServletRequestUtils.getRequiredStringParameter(req, PARAM_MSG);
            increaseCounter();
          ModelAndView mav = new ModelAndView("mypage");
          mav.addObject(PARAM_MSG, message);
          mav.addObject("counter", counter);
          return  mav;
      }


    private void increaseCounter()
    {
       counter++;
     }


}



Код mypage.html:
Код

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Greetings!</title>
</head>
<body>
<p>${message}</p>
You are visitor number ${counter}.
</body>
</html>



В чём может быть проблема? что я не так понял?

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


Эксперт
***


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

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



Цитата(fath_fast @  26.4.2008,  23:49 Найти цитируемый пост)

The requested resource (/my/mypage) is not available.

ппопробуй
/my/mypage.html

Это сообщение отредактировал(а) v2v - 27.4.2008, 12:11


--------------------
PM   Вверх
Kangaroo
Дата 27.4.2008, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


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

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



fath_fast
а где прописан маппинг контроллера на /my/mypage ?


--------------------
Lost....
PM MAIL MSN   Вверх
fath_fast
Дата 28.4.2008, 02:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



v2v, не помогла :(
Kangaroo, маппинг на /my/mypage ?
А разве
 
Код

 <bean id="firController" class="my.FirController"/>

не  является маппингом на контролл mypage? Ведь в my.FirController чётко прописано вернуть представление mypage

PM MAIL   Вверх
fath_fast
Дата 28.4.2008, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Стоп.
Работать ведь это должно так по идее...
ЗАбиваем в адресную строку браузера
http://localhost:8080/my/fir
Контейнер смоттрит web.xml и перенаправляет на обработку к  DispatcherServlet. Тот в свою очередь смотрит, что было запрошен
"fir", ищет в бинах класс firController и, найдя его, ему передаёт управление...
я правильно понимаю?

Но у меня даже http://localhost:8080/my/fir не отображается...  smile 
PM MAIL   Вверх
werdy
Дата 28.4.2008, 04:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 15.3.2007
Где: Новокузнецк

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



Привет.

Здесь надежней по расширению

web.xml
Код

    <servlet-mapping>
        <servlet-name>first</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>


Добавь мапинг в first-servlet.xml:
Код

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <value>
                     /fir.html=firController
            </value>
        </property>
    </bean>


http://localhost:8080/my/fir.html


Это сообщение отредактировал(а) werdy - 28.4.2008, 05:05
PM MAIL WWW   Вверх
fath_fast
Дата 28.4.2008, 05:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



werdy, да тоже неплохой вариант задать соотвествие явно.
Я пробовал по-твоему, пробовал так же применять
Код

<bean class=
“org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping”/>

(для автоматического определения контроллеров)

Но в итоге имеем 
HTTP Status 404 - /fir.html 
и что самое обидное, при запуске приложения он даже не отображает заглавный файл index.jsp
Теперешний конфиг web.xml:
Код

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>first</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>first</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

Но когда убираешь тэг <listener>, то хотя бы отображается index.jsp, может это как то связано? ПО книгам, уже всё давным давно должно работать...
Грешу на Томкэт 5.5 сейчас попробую на Глассфише запустить - может в этом проблема...

Добавлено через 10 минут и 31 секунду
Не тут то было (показывает тоже самое)... уже и не знаю где мог допустить ошибку...
PM MAIL   Вверх
werdy
Дата 28.4.2008, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 15.3.2007
Где: Новокузнецк

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



Покажи first-servlet.xml

Поставь брекпоинт в котроллере, зоходит он туда или нет.

В каком каталоге лежат шаблоны jsp ?

Такое можно еще добавить чтоб определить где искать шаблоны в данном случае в /WEB-INF/jsp/
Код

    <bean id="jstlViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>


Это сообщение отредактировал(а) werdy - 28.4.2008, 06:45
PM MAIL WWW   Вверх
Ivan Kolesnikov
Дата 28.4.2008, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 9.3.2005
Где: г. Новокузнецк

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



Попробуй так:
Код

<bean name="/firController" class="my.FirController"/>

Здесь id заменен на name, так как id не может содержать "/", а вообще лучше мапить не по имени, а через специальный класс.
View - jsp страница mypage.jsp
Код

ModelAndView mav = new ModelAndView("/mypage.jsp");

Опять же лучше конфигурить view через xml, а в ModelAndView прописывать только имя view.
Web XML оставь из первого поста.

У меня работает следующий url: http://localhost:8080/имя_приложения/my/fi...er?message=Test
--------------------
PM MAIL ICQ   Вверх
fath_fast
Дата 28.4.2008, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

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

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


 




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


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

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