весенняя сервлетная карта в .html будет отвечать работам, но сопоставление с не-html конечным URL не - PullRequest
0 голосов
/ 14 июля 2011

У меня есть весенний сервлет, у которого есть файл отображения, и там я определил отображение URL / контроллера:

<prop key="/template.html">templateWebServiceController</prop>

оттуда, если бы я должен был проверить мой браузер и перейти на localhost: 8080 / myapp /template.html, он вызовет сервлет

, однако, если бы я изменил отображение сервлета на:

<prop key="/template">templateWebServiceController</prop>

, по существу, извлекая .html, делая это (goto localhost:8080 / myapp / template) не сможет вызвать сервлет

я что-то упустил?или тестирование не так?

спасибо!

Ответы [ 2 ]

1 голос
/ 14 июля 2011

Сервлет-диспетчер Spring сопоставляется с шаблоном URL в web.xml.В вашем случае это, вероятно, для URL-адресов, заканчивающихся на .html:

<servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

Если вы хотите, чтобы Spring принимал другие типы шаблонов (например, /template), вы должны изменить отображение на что-то другое ИЛИдобавьте еще одно отображение сервлетов с другим шаблоном.

Например, вы можете добавить отображение с помощью <url-pattern>/template</url-pattern>, и ваш контроллер будет выбран.Или вы можете поставить <url-pattern>/*</url-pattern>, и все URL будут выбраны Spring.

0 голосов
/ 14 июля 2011

Вы также можете добавить отображение для DispatcherServlet

<url-pattern>/</url-pattern>

и в вашей конфигурации сервлета добавить

<mvc:default-servlet-handler/>

Затем вы также можете получить доступ к корневому URL по адресу localhost: 8080 / myapp/ и все другие расширения и т. д.

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