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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to