Это должна быть пользовательская реализация вокруг j_security_check. Вы можете прикрепить фильтр сервлетов с помощью j_security_check
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/j_security_check</url-pattern>
</filter-mapping>
В SecurityFilter после того, как проверка безопасности вернет userPrincipal, задайте дополнительные детали в сеансе и продолжите. Но если userPrincipal равен нулю, извлеките счетчик ошибок из базы данных и поместите сообщение об ошибке (включая счетчик отказов) в сеанс, который можно отобразить на странице входа.
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
Principal userPrincipal = null;
String username = httpServletRequest.getParameter("j_username");
String rememberme = httpServletRequest.getParameter("rememberme");
chain.doFilter(request, response);
userPrincipal = httpServletRequest.getUserPrincipal();
Помните, что для меня должны быть установлены файлы cookie, и значение переменной "Rememberme" будет доступно после завершения j_security_check. В зависимости от успеха или неудачного входа в систему можно установить cookie.