В чем разница между Сервлет и Фильтр? Что вы рекомендуете использовать для авторизации на страницах?
Сервлет и фильтр
Ответ 1
Используйте Filter, если вы хотите  фильтровать и/или изменять запросы на основе определенных условий. Используйте Servlet, если хотите выполнить  контроль, препроцесс и/или постпроцесс.
В учебнике по Java EE упоминаются следующие фильтры:
Фильтр - это объект, который может преобразовывать заголовок и содержимое (или оба) запроса или ответа. Фильтры отличаются от веб-компонентов тем, что фильтры сами по себе не создают ответ. Вместо этого фильтр предоставляет функциональные возможности, которые могут быть "привязаны" к любому веб-ресурсу. Следовательно, фильтр не должен иметь никаких зависимостей от веб-ресурса, для которого он действует как фильтр; таким образом, он может быть составлен с несколькими типами веб-ресурсов.
Основные задачи, которые может выполнять фильтр, следующие:
- Запросить запрос и действовать соответственно.
 - Заблокировать пару запроса и ответа от дальнейшего прохождения.
 - Измените заголовки и данные запроса. Вы делаете это, предоставляя индивидуальную версию запроса.
 - Изменить заголовки ответов и данные. Вы делаете это, предоставляя настраиваемую версию ответа.
 - Взаимодействие с внешними ресурсами.
 
Для авторизации лучше всего подходит Filter. Здесь приведен пример базового примера того, как фильтр проверяет запросы для зарегистрированного пользователя:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
    if (((HttpServletRequest) request).getSession().getAttribute("user") == null) {
        // User is not logged in. Redirect to login page.
        ((HttpServletResponse) response).sendRedirect("login");
    } else {
        // User is logged in. Just continue with request.
        chain.doFilter(request, response);
    }
}
		Ответ 2
Фильтры лучше всего подходят для авторизации. Это связано с тем, что они могут быть настроены для работы на всех страницах сайта. Поэтому вам нужен только один фильтр для защиты всех ваших страниц.
Ответ 3
Используя фильтр, мы можем улучшить производительность сервлета - когда запрос приходит, мы можем выполнить предварительную обработку по запросу, если запрос удовлетворяет, то мы можем перенаправить на сервлет, иначе дать сообщение клиенту, предоставить соответствующую информацию в запросе.