Сервер приложений не может запустить фильтр сервлетов. Сообщение об ошибке: java.lang.NoSuchMethodException: package.MyCustomFilter.<init>()
. HttpFilter расширяет GenericFilter, который реализует метод init (). Так что нет необходимости отменять его. Я уже пытался переопределить метод init (), это не решило проблему.
Класс фильтра:
public class MyCustomFilter extends HttpFilter {
private static final long serialVersionUID = -5281928035553598730L;
private static Logger log = Logger.getLogger(MyCustomFilter.class.getName());
protected MyCustomFilter() {
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
super.doFilter(req, res, chain);
log.info("filter Request");
}
}
web. xml
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
...
<filter>
<filter-name>myCustomFilter</filter-name>
<filter-class>com.dtmarius.gateway.filter.MyCustomFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myCustomFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>