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]

Reply via email to