Можно создать дубликат:
Servlet mapping/vs /*differenct между/и/* в сервлет шаблон матча URL
Какова разница '/' и '/ *' в отображении сервлет URL?
Поскольку я читаю книгу весной в действии, и я нашел эти слова:
Далее мы должны указать, что URL-адрес будет обрабатываться DispatcherServlet. Общепризнано, что DispatcherServlet сопоставлен с URL-адресами , такими как .htm,/, или/app. Но эти шаблоны URL есть несколько проблем:
- * .htm модель предполагает, что ответ всегда будет находиться в HTML-форме (которая, как мы узнаем в главе 11, не обязательно случай).
- Сопоставление его с/* не подразумевает какой-либо тип ответа, но указывает, что DispatcherServlet будет обслуживать все запросы. Это делает более статичным статическим содержимым, таким как изображения и таблицы стилей.
- Шаблон/app (или что-то подобное) помогает нам различать содержимое Диспетчер-Сервлет-контент из других типов контента. Но тогда у нас есть детали реализации (в частности, путь/app), которые отображаются в наших URL-адресах. Это приводит к сложной тактике перезаписи URL-адресов, чтобы скрыть путь/app.
Вместо того, чтобы использовать любой из этих ущербных схем сервлет-картографирования, я предпочитаю отображение DispatcherServlet как это:
<servlet-mapping> <servlet-name>spitter</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
По отображению DispatcherServlet к /, я говорю, что это по умолчанию сервлета и что он будет отвечать за обработку всех запросов, , включая запросы на статический контент.
Согласно вышеприведенным словам, кажется, что оба «/» и «/ *» будут обслуживать весь запрос.
В чем разница?
Какая разница между сервлетом по умолчанию ('/') и всем '/ *'? – hguser