markt 2004/04/12 13:29:47 Modified: catalina/src/share/org/apache/catalina/valves ErrorDispatcherValve.java Log: - Fix bug 13924. The spec states if an error page declaration doesn't match the original exception and the exception is an instance of ServletException then the exception should be unwrapped and a second pass made of the error page declarations. - Also removed unused imports identified by Eclipse. Revision Changes Path 1.12 +9 -11 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves/ErrorDispatcherValve.java Index: ErrorDispatcherValve.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/valves/ErrorDispatcherValve.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- ErrorDispatcherValve.java 19 Feb 2003 14:42:40 -0000 1.11 +++ ErrorDispatcherValve.java 12 Apr 2004 20:29:47 -0000 1.12 @@ -66,18 +66,13 @@ import java.io.IOException; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.Iterator; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; -import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.catalina.Container; import org.apache.catalina.Context; import org.apache.catalina.Globals; import org.apache.catalina.HttpRequest; @@ -85,7 +80,6 @@ import org.apache.catalina.Logger; import org.apache.catalina.Request; import org.apache.catalina.Response; -import org.apache.catalina.Valve; import org.apache.catalina.ValveContext; import org.apache.catalina.Wrapper; import org.apache.catalina.connector.ClientAbortException; @@ -233,8 +227,12 @@ return; } - ErrorPage errorPage = findErrorPage(context, realError); + ErrorPage errorPage = findErrorPage(context, throwable); + if ((errorPage == null) && (throwable instanceof ServletException)) { + errorPage = findErrorPage(context, realError); + } + if (errorPage != null) { response.setAppCommitted(false); ServletRequest sreq = request.getRequest();
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]