doFilter is throwing ServletException when any exception occurs in the controller or service layer instead of the real exception. For example, if a user is duplicated and the service is set to throw ConflictException to be caught by a GlobalExceptionHandler, filterChain.doFilter(request, response) throws "ServletException: Request processing failed: ConflictException" instead of the GlobalExceptionHandler catching it. The GlobalExceptionHandler is supposed to catch that exception. Besides, this failure should not happen when or before perform doFilterInternal(), right?
the error occurs in :
filterChain.doFilter(request, response);
