До Servlet 2.5 я использовал для смешивания web.xml
и аннотации внутри сервлетов.
В аннотациях я объявил класс сервлетом и отображением.
В web.xml
Я объявил ограничения безопасности, которые применяются как к сервлетам, так и к статическим страницам и JSP.
Теперь, когда мой web.xml
объявляет version="3.1"
, та же стратегия больше не работает.
ЕслиЯ помещаю web.xml
в WEB-INF, каждый раз, когда я получаю доступ к отображению сервлета, я получаю сообщение об ошибке 404.
Один из способов заставить его работать - это установить ограничения безопасности в самих сервлетах и удалить web.xml
.
Проблемы с этим:
- Я должен повторить один и тот же код аннотации для каждого сервлета, хотя мое ограничение одинаково для всех сервлетов
- Я могуне применяйте правила безопасности к другим ресурсам, которые не являются сервлетами, например к HTML-странице.Раньше для защиты всех моих ресурсов (включая сервлеты!) Было достаточно URL-шаблона типа "/".
Другой способ заставить его работать - это вернуть все сервлеты и сопоставления обратно в сеть.xml, как в 1990-х годах.
Кроме того, я не могу найти замену
<login-config>
<auth-method>BASIC</auth-method>
</login-config>