Java How to handle exceptions thrown by application with another servlet?

Java How to handle exceptions thrown by application with another servlet?

To handle exceptions thrown by an application with another servlet in Java, you can use a servlet filter to intercept the exceptions and forward them to the other servlet for handling.

A servlet filter is a Java class that implements the Filter interface from the javax.servlet package and defines a doFilter() method that is called for each request and response processed by the servlet container. You can use the doFilter() method to catch exceptions thrown by the application and forward them to the other servlet for handling.

Here's an example of a servlet filter that handles exceptions thrown by the application and forwards them to another servlet:

‮r‬efer to:lautturi.com
import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;

@WebFilter("/*")
public class ExceptionFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        try {
            chain.doFilter(request, response);
        } catch (Exception e) {
            request.setAttribute("error", e);
            request.getRequestDispatcher("/error-handler").forward(request, response);
        }
    }

    // ... other methods
}
Created Time:2017-11-03 23:27:07  Author:lautturi