Фильтр карт сервлет с узором URL ** - PullRequest
0 голосов
/ 30 сентября 2018

Разница между * и ** должна быть: * соответствует до "/", а ** соответствует каждому пути, включая "/".Я заметил, что для сопоставления фильтров в веб-формате xml "/ *" работает даже для путей с несколькими "/", например:

<filter>
    <filter-name>loginFilter</filter-name>
    <filter-class>..LoginFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>loginFilter</filter-name>
    <url-pattern>/test/*</url-pattern>
</filter-mapping>

, это будет соответствовать / test / ..... / ....

так это специфично для сопоставления фильтров?сопоставление сервлета такое же или оно работает с **?


Это сопоставление выполняется в web-файле (Spring Data) проекта (Spring Data), а не в tomcat, я не уверен, отличается ли он.

Я также попробовал tomcat web.xml, и кажется, что "/ *" будет работать для всех путей с "/", вопрос будет, когда применимо "/ **"?

1 Ответ

0 голосов
/ 02 октября 2018

Шаблоны в стиле муравья с "**" не работают в файле web.xml.См. Спецификация сервлета глава "12.2 Спецификация отображений" для получения подробной информации о том, какие сопоставления разрешены.Варианты довольно ограничены.Символ '*' используется только в отображении префиксов и расширений.Во всех остальных случаях он интерпретируется буквально (для точного соответствия).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...