Я надеюсь, что вы поможете мне с моей простой проблемой.
Я настроил Spring mvc-приложение, которое было настроено из простого jsf-приложения.Я использую библиотеки Primefaces.
У меня есть контроллер, и он обрабатывает запросы из запросов welcome.do и ViewResolver находит по правилу с префиксом / ui / и постфиксом .xhtml.Простая и часто используемая конфигурация.
@ RequestMapping ("/ *. Do") public void actionDo () {logger.debug ("invoked");} Первые запросы обрабатываются в основном, но когда я генерирую ajax-запрос из приветственной формы в некоторый sessionBean, он генерирует предупреждение:
[2011-01-18 21:28:28,442] org.springframework.web.servlet.DispatcherServlet.doService DispatcherServlet with name 'springDispatcher' processing POST request for [/prime/ui/welcome.do]
[2011-01-18 21:28:28,443] org.springframework.web.servlet.PageNotFound.noHandlerFound No mapping found for HTTP request with URI [/prime/ui/welcome.do] in DispatcherServlet with name 'springDispatcher'
Итак, он пытается найти представление по имени /ui/welcome.do ине может, потому что запрос ajax не соответствует правилам обработки моего запроса.Должен ли DispatcherServlet обрабатывать запросы ajax или нет?
Я думаю, что это очень распространенная проблема, и ее можно решить просто, но я не знаю, как.без Spring MVC все работает нормально.Итак, можете ли вы рассказать мне о хороших методах передачи ajax-запросов через DispatcherServlet?
Часть моего файла web.xml.
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>springDispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
Спасибо!