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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему не обрабатываются *.jsp запросы ? 
:(
    Опции темы
barracuda477
Дата 14.12.2008, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



При вот таком содержимом web.xml и panel-servlet.xml (мой сервлет) всё работает как нужно

web.xml

Код

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>    
    
    <servlet>
        <servlet-name>panel</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>panel</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>


panel-servlet.xml

Код

<bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="/showParameters.htm">showParametersController</prop>
        </props>
    </property>
</bean>

<bean id="showParametersController" class="aggregator_panel.controllers.showParametersController"/>

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
  p:prefix="/WEB-INF/jsp/"
  p:suffix=".jsp" />



aggregator_panel.controllers.showParametersController
Код

package aggregator_panel.controllers;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class showParametersController extends AbstractController {

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
        ModelAndView mav = new ModelAndView("showParameters");
        return mav;
    }

}


но если я меняю <url-pattern>*.htm</url-pattern> на <url-pattern>*.jsp</url-pattern> и 

  <props>
     <prop key="/showParameters.htm">showParametersController</prop>
  </props>

на 

  <props>
     <prop key="/showParameters.jsp">showParametersController</prop>
  </props>

то в окне томката я вижу 

1
Код

4 уЁєф 2008 16:56:01 org.springframework.web.servlet.DispatcherServlet getLastModified
FINE: DispatcherServlet with name 'panel' determining Last-Modified value for [/aggregator_panel-0.0.1/showParameters.jsp]
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.handler.AbstractUrlHandlerMapping getHandlerInternal
FINE: Mapping [/showParameters.jsp] to handler 'aggregator_panel.controllers.showParametersController@557c15'
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.DispatcherServlet getLastModified
FINE: Last-Modified value for [/aggregator_panel-0.0.1/showParameters.jsp] is: -1
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.DispatcherServlet doService
FINE: DispatcherServlet with name 'panel' processing request for [/aggregator_panel-0.0.1/showParameters.jsp]
aaabbb14 уЁєф 2008 16:56:01 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory invokeInitMethods
FINE: Invoking afterPropertiesSet() on bean with name 'showParameters'
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.DispatcherServlet render
FINE: Rendering view [org.springframework.web.servlet.view.JstlView: name 'showParameters'; URL [/WEB-INF/jsp/showParameters.jsp]] in DispatcherServle
t with name 'panel'
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.view.InternalResourceView renderMergedOutputModel
FINE: Forwarding to resource [/WEB-INF/jsp/showParameters.jsp] in InternalResourceView 'showParameters'
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.DispatcherServlet getLastModified
FINE: DispatcherServlet with name 'panel' determining Last-Modified value for [/aggregator_panel-0.0.1/WEB-INF/jsp/showParameters.jsp]
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.DispatcherServlet getLastModified
FINE: No handler found in getLastModified
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.DispatcherServlet doService
FINE: DispatcherServlet with name 'panel' processing request for [/aggregator_panel-0.0.1/WEB-INF/jsp/showParameters.jsp]
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/aggregator_panel-0.0.1/WEB-INF/jsp/showParameters.jsp] in DispatcherServlet with name 'panel'
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.FrameworkServlet processRequest
FINE: Successfully completed request
14 уЁєф 2008 16:56:01 org.springframework.web.servlet.FrameworkServlet processRequest
FINE: Successfully completed request



при этом - в браузере 404-я ошибка, но код контроллера выполняется

Насколько я понял - оно пытается форварднуть, но что, куда и зачем - не понимаю 
PM MAIL   Вверх
Kangaroo
Дата 15.12.2008, 02:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


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

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



Цитата(barracuda477 @  14.12.2008,  19:22 Найти цитируемый пост)
Насколько я понял - оно пытается форварднуть, но что, куда и зачем - не понимаю  

У тебя и маппинг контроллеров, и вью - *.jsp 
Диспатчер запутался smile


Цитата(barracuda477 @  14.12.2008,  19:22 Найти цитируемый пост)
aggregator_panel.controllers.showParametersController

Плохое название пекеджа и класса, почитай про Java Code Conventions


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


Новичок



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

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



Цитата(Kangaroo @  15.12.2008,  02:34 Найти цитируемый пост)
У тебя и маппинг контроллеров, и вью - *.jsp 
Диспатчер запутался smile


то есть вьюшки тоже через диспатчер резолвятся ?

Получается что произошло следующее:
1) пришел запрос /showParameters.jsp
2) дистатчер нашел контроллер, передал контроллеру на обработку
3) контроллер попытался разрезлывить вьюшку "showParameters" (вью резолвер указал полный путь в варнике - /aggregator_panel-0.0.1/WEB-INF/jsp/showParameters.jsp 
4) Диспатчер посмотрел, что в маппинге в web.xml стоит  <url-pattern>*.jsp</url-pattern> и попробовал найти ещё раз контроллер но уже для /aggregator_panel-0.0.1/WEB-INF/jsp/showParameters.jsp , но поскольку оно не совпадает с <prop key="/showParameters.jsp">showParametersController</prop> в simpleUrlMapping бине, то контроллер не нашелся

Или я что-то усложняю ?

Цитата(Kangaroo @  15.12.2008,  02:34 Найти цитируемый пост)
Цитата(barracuda477 @  14.12.2008,  19:22 Найти цитируемый пост)
aggregator_panel.controllers.showParametersController

Плохое название пекеджа и класса, почитай про Java Code Conventions 


ок, спасибо, переименую на com.mycompany.aggregatorpanel.controllers.ShowParametersController

PM MAIL   Вверх
Kangaroo
Дата 16.12.2008, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


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

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



Цитата(barracuda477 @  16.12.2008,  20:47 Найти цитируемый пост)
Или я что-то усложняю ?

Нет, не усложняешь. Все так и было smile Оставь контроллерам .штмл и все будет ок.




Цитата(barracuda477 @  16.12.2008,  20:47 Найти цитируемый пост)
ок, спасибо, переименую на com.mycompany.aggregatorpanel.controllers.ShowParametersController

Да, так будет красивей.


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


Бывалый
*


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

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



InternalResourceViewResolver делает форвард на ресурс, типа префикс+имя вью+суфикс. Получается /WEB-INF/jsp/showParameters.jsp 
/WEB-INF/jsp/showParameters.jsp  попадает под патерн *.jsp
Тоисть заходим в DispatcherServlet и ищем контролер - его нет, получаем 404.

Где-то в глубинах томката есть сервлет который замаплен на *.jsp ты его перекрыл своим.

попробуй в InternalResourceViewResolver указать <property name="alwaysInclude" value="true"/>

PS: aggregator_panel.controllers.showParametersController - глаза режет
--------------------
WARNING: Condition 'to_be || !to_be' is always 'true' !
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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