| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Почему не обрабатываются *.jsp запросы ? |
| Автор: barracuda477 14.12.2008, 19:22 | ||||||||
| При вот таком содержимом web.xml и panel-servlet.xml (мой сервлет) всё работает как нужно web.xml
panel-servlet.xml
aggregator_panel.controllers.showParametersController
но если я меняю <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
при этом - в браузере 404-я ошибка, но код контроллера выполняется Насколько я понял - оно пытается форварднуть, но что, куда и зачем - не понимаю |
| Автор: barracuda477 16.12.2008, 20:47 | ||||
то есть вьюшки тоже через диспатчер резолвятся ? Получается что произошло следующее: 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 бине, то контроллер не нашелся Или я что-то усложняю ?
ок, спасибо, переименую на com.mycompany.aggregatorpanel.controllers.ShowParametersController |
| Автор: Kangaroo 16.12.2008, 22:31 | ||
Нет, не усложняешь. Все так и было
Да, так будет красивей. |
| Автор: _sten_ 16.12.2008, 23:12 |
| 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 - глаза режет |