craigmcc    01/02/21 13:37:59

  Modified:    catalina/src/share/org/apache/catalina/core
                        StandardWrapperValve.java
  Log:
  Update the request attributes that are set before pasing control to an
  error page, as follows:
  
  * If handling an exception, set "javax.servlet.error.message" to the
    value returned by exception.getMessage().
  
  * If handling a status code, set "javax.servlet.error.request_uri" to the
    request URI of the page returning the error.
  
  Both of these problems were identified when building the unit test case
  created in response to Bugzilla Bug #644 (next checkin).
  
  Revision  Changes    Path
  1.19      +14 -8     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java
  
  Index: StandardWrapperValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- StandardWrapperValve.java 2001/02/21 19:12:38     1.18
  +++ StandardWrapperValve.java 2001/02/21 21:37:59     1.19
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v
 1.18 2001/02/21 19:12:38 craigmcc Exp $
  - * $Revision: 1.18 $
  - * $Date: 2001/02/21 19:12:38 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v
 1.19 2001/02/21 21:37:59 craigmcc Exp $
  + * $Revision: 1.19 $
  + * $Date: 2001/02/21 21:37:59 $
    *
    * ====================================================================
    *
  @@ -102,7 +102,7 @@
    * <code>StandardWrapper</code> container implementation.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.18 $ $Date: 2001/02/21 19:12:38 $
  + * @version $Revision: 1.19 $ $Date: 2001/02/21 21:37:59 $
    */
   
   final class StandardWrapperValve
  @@ -514,6 +514,8 @@
               //            if (debug >= 1)
               //                log(" Sending to custom error page " + errorPage);
               ServletRequest sreq = request.getRequest();
  +            sreq.setAttribute(Globals.ERROR_MESSAGE_ATTR,
  +                              realError.getMessage());
               sreq.setAttribute(Globals.EXCEPTION_ATTR,
                                 realError);
               if (sreq instanceof HttpServletRequest)
  @@ -783,10 +785,14 @@
        Context context = (Context) container.getParent();
        ErrorPage errorPage = context.findErrorPage(statusCode);
        if (errorPage != null) {
  -         request.getRequest().setAttribute(Globals.STATUS_CODE_ATTR,
  -                                           new Integer(statusCode));
  -         request.getRequest().setAttribute(Globals.ERROR_MESSAGE_ATTR,
  -                                           message);
  +            ServletRequest sreq = request.getRequest();
  +         sreq.setAttribute(Globals.STATUS_CODE_ATTR,
  +                              new Integer(statusCode));
  +         sreq.setAttribute(Globals.ERROR_MESSAGE_ATTR,
  +                              message);
  +            if (sreq instanceof HttpServletRequest)
  +                sreq.setAttribute(Globals.EXCEPTION_PAGE_ATTR,
  +                                  ((HttpServletRequest) sreq).getRequestURI());
            if (custom(request, response, errorPage))
                return;
        }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to