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]