I was writing a interceptor for login help.
public class LoginInterceptor extends HandlerInterceptorAdapter {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    HttpSession session = request.getSession();
    System.out.println("GreetingInterceptor: REQUEST Intercepted for URI: " + request.getRequestURI());
    System.out.println(session.getAttribute("userName"));
    /*if(request.getRequestURI().equalsIgnoreCase("/studentenrollmentsystem/login")){
        return true;
    }
    if(request.getRequestURI().equalsIgnoreCase("/studentenrollmentsystem/loginaction")){
        return true;
    }*/
    if(session.getAttribute("userName") != null){
        if(request.getRequestURI().equalsIgnoreCase("/studentenrollmentsystem/login")){
            response.sendRedirect("loginaction");
            return true;
        }
        else{
            return true;
        }
        /*if(request.getRequestURI().equalsIgnoreCase("/studentenrollmentsystem/loginaction")){
            return true;
        }
        return true;*/
    }
    else{
        if(request.getRequestURI().equalsIgnoreCase("/studentenrollmentsystem/login")
                || request.getRequestURI().equalsIgnoreCase("/studentenrollmentsystem/loginaction")){
            return true;
        }
        else{
            response.sendRedirect("login");
            return false;
        }
    }
}
}
When i first go to /login it work fine, but when after login i go back to /login it gives me exception "Cannot call sendRedirect() after the response has been committed". Can you please help. Also is there a better way to maintain login.
