У меня есть простой статический файл HTML и простой фильтр сервлета, который добавляет к содержимому верхний и нижний колонтитулы
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
public class HeaderFooterFilter implements Filter {
private static Logger logger = LoggerFactory.getLogger(HeaderFooterFilter.class);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
logger.info("Filter init");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
logger.info("Adding header and footer");
servletResponse.getWriter().println("<h1>Header from filter</h1><hr>");
filterChain.doFilter(servletRequest, servletResponse);
servletResponse.getWriter().println("<hr><p>Footer from filter</p>");
logger.info("End of filter");
}
@Override
public void destroy() {
logger.info("Filter destroy");
}
}
HTML содержит одну строку
<p>Some static content</p>
Проблема в том, что я вижу нижний колонтитулкоторый был добавлен фильтром, только если расширение статического файла - jsp, но не html.Заголовок добавляется к получающейся странице в обеих ситуациях.Я предполагаю, что html и jsp обрабатываются контейнером по-разному, но я хочу найти более подробный ответ, почему я получил такое странное поведение.
Отображение фильтра - "/ *".Я использую WildFly для развертывания приложения.
UPD.Просто попытался развернуть то же приложение на TomCat, и оно работает правильно.