почему Tomcat перенаправляет контекстный путь с косой чертой? - PullRequest
0 голосов
/ 08 июня 2018

У меня есть веб-приложение с сервлетом с контекстным путем "/ cas" в tomcat.
При посещении "http://localhost:8080/cas", tomcat будет перенаправлять на" http://localhost:8080/cas/".
Указано ли это поведение в любых документах?
Есть ли сервлет для "/ cas"?

1 Ответ

0 голосов
/ 09 июня 2018

Возвращает перенаправление, потому что это правила, указанные в спецификации сервлета Java rev 3.0, в разделе 12.1 Использование путей URL .Он присутствует (под другой нумерацией) и во всех других версиях Servlet Spec.

Существует разница между /cas и /cas/.Один из них невидим для вашего приложения (т. Е. Не существует url-pattern, который вы можете сопоставить, что приведет к ответу ресурса в вашем веб-приложении), а другой будет восприниматься вашим приложением как /.

Если вы сопоставите /cas в приложении ROOT с чем-то, Tomcat проигнорирует это, поскольку существует правило с самым длинным соответствием, которое переопределяет его (контекст сопоставлен с /cas), поэтому ваше приложение /cas будет переопределеновсе, что у вас было в приложении ROOT, сопоставлено там.

Запрос /cas по определению является запросом каталога без завершающего /, и поэтому Tomcat выполняет перенаправление, добавляя /.Затем в игру вступает раздел 10.10 Welcome Files , и Tomcat проверит ваше приложение, чтобы определить, что делать дальше.

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