Переменная «приложение» в URL-шаблоне для сопоставления сервлета
-
25-09-2019 - |
Вопрос
Я изучаю весну MVC (и сервлеты в целом) и после примера Springsource MVC-AJAX, который использует аннотированные методы контроллера. Похоже, что есть только один URL-шаблон (в Web.xml) сопоставлен на сервлете в этом примере:
/приложение/*
Я развернул приложение в качестве файла войны, и фактический, уродливый URL, который я запрашиваю http://127.0.0.1:8080/org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1/account..
Итак, кажется, что «приложение» в «/ приложение / *» - это переменная, соответствующая «org.springframework.samples.mvc.cajax-1.0.0-20100407.233245-1 ', однако, это не универсально, потому что это не Используемый в моем собственном приложении, и это противоречит моему пониманию, что URL-шаблон содержит часть URL после Имя приложения. Итак, что такое «приложение»? Где он настроен?
Решение
Посмотреть на urlrewrite.xml. файл.
Это где определено, что все входящие URL (кроме тех, которые начинают с /styles/
, /scripts/
, /images/
) будет переписан с /app/
с начала
<rule>
<from>/**</from>
<to>/app/$1</to>
</rule>
Поэтому, когда он достигает диспетчера сервлета, URL-адрес в форме /app/myOriginalPath
.