Переменная 'app' в шаблоне url для отображения сервлета - PullRequest
0 голосов
/ 08 апреля 2010

Я изучаю Spring MVC (и сервлеты в целом) и следую примеру mvc-ajax springsource, в котором используются аннотированные методы контроллера. Похоже, что в этом примере есть только один шаблон URL (в web.xml), сопоставленный сервлету:

/ приложение / ** * 1003

Я развернул приложение в виде файла WAR, и фактический, уродливый URL-адрес, который я запрашиваю, - http://127.0.0.1:8080/org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1/account.

Итак, похоже, что 'app' в '/ app / *' является переменной, соответствующей 'org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1', однако она не универсальна потому что его нельзя использовать в моем собственном приложении, и это противоречит моему пониманию того, что url-pattern содержит часть URL после имени приложения. Итак, что такое «приложение»? Где это настроено?

1 Ответ

0 голосов
/ 08 апреля 2010

Посмотрите файл urlrewrite.xml .

Здесь определено, что все входящие URL (кроме тех, которые начинаются с /styles/, /scripts/, /images/) будут переписаны с /app/ в начале

<rule>
   <from>/**</from>
   <to>/app/$1</to>
</rule>

Поэтому, когда он достигает сервлета диспетчера, URL-адрес имеет вид /app/myOriginalPath.

...