Spring-MVC: возможно ли иметь два шаблона URL для одного отображения сервлета? - PullRequest
3 голосов
/ 11 февраля 2011

У меня есть URL .htm и .xml, которые я хочу разрешить как файлы .jsp в моей папке WEB-INF.Как указать, что один и тот же сервлет должен обрабатывать URL-адреса * .htm и * .xml?

Ответы [ 3 ]

7 голосов
/ 30 апреля 2012

Добавление нескольких тегов url-pattern в одно и то же отображение работает для меня с помощью Spring 3.0

<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/<url-pattern>
    <url-pattern>*.htm</url-pattern>
    <url-pattern>*.html</url-pattern>
    <url-pattern>*.xml</url-pattern>
</servlet-mapping>

В отношении того, чтобы заставить ваши контроллеры разрешать их для объектов представления (.jsp), вы можете сделать это с помощью контроллеров, которые расширяют класс контроллеров и следуют определенному соглашению об именах, или вы можете использовать контроллеры, управляемые аннотациями. Ниже приведен пример контроллера, управляемого аннотациями.

@Controller
public class Controller {

    @RequestMapping(value={"/","/index","/index.htm","index.html"})
    public ModelAndView indexHtml() {
        // RETURN VIEW (JSP) FOR HTM FILE
    }

    @RequestMapping(value="/index.xml")
    public ModelAndView indexXML() {
        // RETURN VIEW (JSP) FOR XML FILE
    }
}
3 голосов
/ 11 февраля 2011

Да, вы очень хорошо можете это сделать.

<servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>*.htm</url-pattern>
</servlet-mapping>

<servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>*.xml</url-pattern>
</servlet-mapping>
1 голос
/ 11 февраля 2011

Полагаю, вы говорите об элементе <servlet-mapping> в файле "web.xml".

Ответ в том, что вы можете (вроде) использовать два элемента <servlet-mapping> с разными шаблонами для одного и того же элемента <servlet>.

Обратите внимание, что это особенность спецификации сервлета Java EE. Распределение связанных запросов происходит до того, как Spring проверит запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...