Насколько мне известно, это соглашение было распространено Struts1. В руководстве пользователя это написано так:
Примечание . Материал в этом разделе не относится к Struts. Конфигурация сопоставлений сервлетов определена в Спецификации сервлетов Java. В этом разделе описаны наиболее распространенные способы настройки приложения.
Существует два общих подхода к определению URL-адресов, которые будут обрабатываться сервлетом контроллера: сопоставление префиксов и сопоставление расширений. Соответствующая запись отображения для каждого подхода будет описана ниже.
Сопоставление префиксов означает, что вы хотите, чтобы все URL-адреса, которые начинаются (после части пути контекста) с определенного значения, передавались этому сервлету. Такая запись может выглядеть так:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/do/*</url-pattern>
</servlet-mapping>
Это означает, что URI запроса, соответствующий /logon
описанному ранее пути, может выглядеть так:
http://www.mycompany.com/myapplication/do/logon
где /myapplication
- контекстный путь, по которому развертывается ваше приложение.
С другой стороны, отображение расширений сопоставляет URI запроса с сервлетом действия на основе того факта, что URI заканчивается точкой, за которой следует определенный набор символов. Например, сервлет обработки JSP сопоставляется с *.jsp
шаблоном, поэтому он вызывается для обработки каждой запрошенной страницы JSP. Чтобы использовать *.do
расширение (которое подразумевает «что-то сделать») , запись сопоставления будет выглядеть так:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
а URI запроса, соответствующий
/logon
описанному ранее пути, может выглядеть так:
http://www.mycompany.com/myapplication/logon.do
ВНИМАНИЕ! Платформа не будет работать правильно, если вы определите более одного <servlet-mapping>
элемента для сервлета контроллера.
ПРЕДУПРЕЖДЕНИЕ. Если вы используете поддержку нового модуля, начиная с версии 1.1, вы должны знать, что поддерживается только сопоставление расширений.