Разница в обработке HTML и JSP с помощью фильтра сервлетов в WildFly - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть простой статический файл 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, и оно работает правильно.

...