2015-05-20 2 views
0

Я смотрел учебник по Spring MVC и заметил, что сервлет диспетчера отображается на urlpattern /, и было объяснено, что это означает, что все запросы будут обрабатываться сервлетом, определенным для обработки это urlpattern.Матрицы Spring MVC web.xml

Это имеет смысл, но я думал, что /* был обозначением, используемым для указания всех запросов, а не только /. В чем разница между шаблоном URL-адреса / и одним из /*? Я бы подумал, что / будет отображаться в контексте контекста приложения. так, например, если «MyApp» был Корневой контекст приложения:

myipaddress/myapp будут обрабатываться с помощью URLPATTERN из /

myipaddress/myapp/foo будут обрабатываться с помощью URLPATTERN из /*

Может кто-то помочь мне понять, где я буду неправильно

ответ

0

спецификация URL-шаблон:

Строка, начинающаяся с символа '/' и заканчивающаяся суффиксом '/ *', используется для сопоставления пути.

Строка, начинающаяся с префикса '*.', Используется как расширение.

Строка, содержащая только символ «/», указывает сервлет приложения «по умолчанию» приложения. В этом случае путь сервлета является URI минус путь контекста, а информация о пути равна NULL.

Все остальные строки используются только для точных совпадений.

http://download.oracle.com/otndocs/jcp/servlet-3.0-fr-eval-oth-JSpec/

Смежные вопросы