Author: markt
Date: Sat Jun 30 13:24:09 2012
New Revision: 1355734
URL: http://svn.apache.org/viewvc?rev=1355734&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52135
Implement support for a default error page. It appears that this was meant to
be in the 3.0 spec but got left out in error.
Added:
tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TestStandardHostValve.java
- copied unchanged from r1355726,
tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java
Modified:
tomcat/tc7.0.x/trunk/ (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ErrorPage.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
Merged /tomcat/trunk:r1355726
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1355734&r1=1355733&r2=1355734&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardContext.java Sat
Jun 30 13:24:09 2012
@@ -574,7 +574,8 @@ public class StandardContext extends Con
/**
* The status code error pages for this web application, keyed by
- * HTTP status code (as an Integer).
+ * HTTP status code (as an Integer). Note status code zero is used for the
+ * default error page.
*/
private HashMap<Integer, ErrorPage> statusPages =
new HashMap<Integer, ErrorPage>();
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java?rev=1355734&r1=1355733&r2=1355734&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardHostValve.java
Sat Jun 30 13:24:09 2012
@@ -299,6 +299,10 @@ final class StandardHostValve extends Va
return;
ErrorPage errorPage = context.findErrorPage(statusCode);
+ if (errorPage == null) {
+ // Look for a default error page
+ errorPage = context.findErrorPage(0);
+ }
if (errorPage != null) {
response.setAppCommitted(false);
request.setAttribute(RequestDispatcher.ERROR_STATUS_CODE,
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ErrorPage.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ErrorPage.java?rev=1355734&r1=1355733&r2=1355734&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ErrorPage.java
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/ErrorPage.java Sat Jun
30 13:24:09 2012
@@ -41,7 +41,8 @@ public class ErrorPage implements Serial
/**
- * The error (status) code for which this error page is active.
+ * The error (status) code for which this error page is active. Note that
+ * status code 0 is used for the default error page.
*/
private int errorCode = 0;
Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1355734&r1=1355733&r2=1355734&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Sat Jun 30 13:24:09 2012
@@ -72,6 +72,12 @@
stuckThreadNames property as a pair for the stuckThreadIds one,
add thread ids to the log messages. (kkolinko)
</update>
+ <add>
+ <bug>52135</bug>: Add support for a default error page to be defined in
+ web.xml by defining an error page with just a nested location element.
+ It appears this feature was intended to be included in the Servlet 3.0
+ specification but was accidently left out. (markt)
+ </add>
<fix>
<bug>53450</bug>: Correct regression in fix for <bug>52999</bug> that
could easily trigger a deadlock when deploying a ROOT web application.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]