Я написал фильтр, который, как мне кажется, будет полезен во многих веб-приложениях.Я хотел бы поместить его в библиотеку (упакованную в виде файла jar), чтобы его можно было распространять и использовать.Однако я не хочу заставлять пользователей библиотеки использовать ее (это всего лишь одна из множества замечательных вещей).
На данный момент фильтр выглядит так:
public class WonderfulFilter implements Filter {
Это означает, что для его применения пользователи должны добавить в свой web.xml следующее:
<filter>
<filter-name>WonderfulFilter</filter-name>
<filter-class>org.example.WonderfulFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>WonderfulFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
В новом, смелом мире EE6 это выглядит неловко.
Если яопределите фильтр следующим образом:
@WebFilter("/*")
public class WonderfulFilter implements Filter {
Тогда для применения фильтра не требуется никакой конфигурации.Но также нет возможности не применить фильтр.
Что я могу сделать?Есть ли способ аннотировать фильтр, чтобы определить его шаблон URL (и другие свойства) без неявного применения?Есть ли какой-нибудь способ легко отключить фильтр в файле web.xml?
(может быть что-то вроде решения, включающего web-фрагмент.xml; рассмотрим это ...)