Переменная «приложение» в шаблоне URL для отображения сервлета

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

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

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

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


person Brian    schedule 08.04.2010    source источник


Ответы (1)


Взгляните на urlrewrite.xml.

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

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

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

person ccheneson    schedule 08.04.2010