mvc: управляемый аннотациями Spring mvc 3 и Tuckey URL Filter - PullRequest
0 голосов
/ 15 сентября 2010

Я использовал Tuckey url для переписывания URL.Вот как это выглядит:

правило от / от
до / pf / welcome до
(изменен формат для входа в этот форум, используются обычные теги xml)
rule

и вот как у меня настраивается мой entitymanager в web.xml:

OpenEntityManagerInViewFilter / *-> / pf / * FORWARD

Я бы хотел воспользоваться валидацией Spring 3.В моем файле представления контекста я добавил это:

Как только я это сделаю, я получу 404 ошибки.Сопоставление отключено.

12 / Sep / 10 21:57:46 DEBUG [http-8080-1] DEBUG (org.springframework.web.servlet.Di spatcherServlet.getLastModified (DispatcherServlet.java:842)) - DispatcherServlet с именем 'dispatcher', определяющим значение Last-Modified для [/ PublicFountainWAR- 0.0.1-SNAPSHOT / pf / welcome] 12 / Sep / 10 21:57:46 DEBUG [http-8080-1] DEBUG (org.springframework.web.servlet.Di spatcherServlet.getLastModified (DispatcherServlet.java:850)) - В getLastModified не найден обработчик 12 / Sep / 10 21:57:46 DEBUG [http-8080-1] DEBUG (org.springframework.web.servlet.Di spatc herServlet.doService (DispatcherServlet.java:690)) - DispatcherServlet с именем 'dispatcher', обрабатывающим GET-запрос для [/PublicFountainWAR-0.0.1-SNAPSHOT/ pf / welcome] 12 / сен /10 21:57:46 WARN [http-8080-1] WARN (org.springframework.web.servlet.Dis patcherServlet.noHandlerFound (DispatcherServlet.java:962)) - Не найдено сопоставление для запроса HTTP с URI [/PublicFountainWAR-0.0.1-SNAPSHOT/pf/welcome] в Dispat cherServlet с именем 'dispatcher' 12 / Sep / 10 21:57:46 DEBUG [http-8080-1] DEBUG (org.springframework.web.servlet.Fr ameworkServlet.processRequest (FrameworkServlet.java:677)) -Успешно завершенный запрос 12 / Sep / 10 21:57:46 DEBUG [http-8080-1] DEBUG (org.springframework.orm.jpa.suppor t.OpenEntityManagerInViewFilter.doFilterInternal (OpenEntityManagerInViewFilter.j ava: 120) - закрытие JPAEntityManager в OpenEntityManagerInViewFilter 12 сентября / 10 21:57:46 ОТЛАДКА [http-8080-1] DEBUG (org.springframework.orm.jpa.Entity ManagerFactoryUtils.closeEntityManager (EntityManagerFactoryUtils.java:3222) 10MenSigningJPG 10)*

мои контроллеры отображаются на ключевые слова без "pf".напр. / welcome NOT / pf / welcome

"pf" был просто для того, чтобы перенаправить его на своего рода виртуальный путь, известный только диспетчерскому сервлету для обработки ... все URL-адреса независимы.

Есть ли способ использовать Tuckey и ???

Резюме:

ребята, любые подсказки помогут ... просто хочу добавить mvc: annotation-driven

к моей существующей весенней версии MVC 3.0веб-приложение с использованием фильтра URL Tuckey ......

любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 15 сентября 2010

Я предполагаю, что вы используете Tuckey, потому что у вас есть методы контроллера Spring, сопоставленные с /pf/*, и вы хотите избавиться от этой части URL для пользователя.Вы можете сделать это без Tuckey.

Добавьте <mvc:default-servlet-handler /> (см. Spring Reference) к вашей конфигурации Spring и убедитесь, что ваш DispatcherServlet сопоставлен с /, а не /pf/*в web.xml.

<mvc:default-servlet-handler /> был добавлен в Spring 3.0.4, но не был добавлен в схему spring-mvc-3.0.xsd, поэтому он будет отображаться как ошибка в Eclipse.Он работает, несмотря на очевидную ошибку, и проблема решается SPR-7545 .

...