Наличие web.xml делает мои сервлеты 3.1 недоступными - PullRequest
0 голосов
/ 21 сентября 2019

До 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>
...