Author: markt
Date: Sat Aug  4 11:11:52 2007
New Revision: 562749

URL: http://svn.apache.org/viewvc?view=rev&rev=562749
Log:
Fix bugs 2500 and 37326. Ensure missing includes and FNFE in JSP pages cause 
errors rather than 404s. 

Modified:
    tomcat/container/tc5.5.x/webapps/docs/changelog.xml
    tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServlet.java
    
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java

Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?view=diff&rev=562749&r1=562748&r2=562749
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Sat Aug  4 11:11:52 2007
@@ -63,6 +63,14 @@
   <subsection name="Jasper">
     <changelog>
       <fix>
+        <bug>2500</bug>: FileNotFoundException within a JSP pages resulted in a
+        404 rather than a 500. (markt)
+      </fix>
+      <fix>
+        <bug>37326</bug>: No error reported when an included page does not
+        exist. (markt)
+      </fix>
+      <fix>
         <bug>42643</bug>: Prevent creation of duplicate JSP function mapper
         variables. (markt)
       </fix>

Modified: 
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServlet.java?view=diff&rev=562749&r1=562748&r2=562749
==============================================================================
--- tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServlet.java 
(original)
+++ tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServlet.java 
Sat Aug  4 11:11:52 2007
@@ -300,8 +300,22 @@
                     // Check if the requested JSP page exists, to avoid
                     // creating unnecessary directories and files.
                     if (null == context.getResource(jspUri)) {
-                        response.sendError(HttpServletResponse.SC_NOT_FOUND,
-                                           request.getRequestURI());
+                        String includeRequestUri = (String)
+                        
request.getAttribute("javax.servlet.include.request_uri");
+                        if (includeRequestUri != null) {
+                            // This file was included. Throw an exception as
+                            // a response.sendError() will be ignored
+                            throw new ServletException(Localizer.getMessage(
+                                    "jsp.error.file.not.found",jspUri));
+                        } else {
+                            try {
+                                
response.sendError(HttpServletResponse.SC_NOT_FOUND,
+                                        request.getRequestURI());
+                        } catch (IllegalStateException ise) {
+                            
log.error(Localizer.getMessage("jsp.error.file.not.found",
+                                   jspUri));
+                        }
+                    }
                         return;
                     }
                     boolean isErrorPage = exception != null;

Modified: 
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java?view=diff&rev=562749&r1=562748&r2=562749
==============================================================================
--- 
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java
 (original)
+++ 
tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/servlet/JspServletWrapper.java
 Sat Aug  4 11:11:52 2007
@@ -31,8 +31,6 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.tagext.TagInfo;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.jasper.JasperException;
 import org.apache.jasper.JspCompilationContext;
 import org.apache.jasper.Options;
@@ -62,9 +60,6 @@
 
 public class JspServletWrapper {
 
-    // Logger
-    private Log log = LogFactory.getLog(JspServletWrapper.class);
-
     private Servlet theServlet;
     private String jspUri;
     private Class servletClass;
@@ -354,25 +349,6 @@
                 response.sendError
                     (HttpServletResponse.SC_SERVICE_UNAVAILABLE, 
                      ex.getMessage());
-            }
-        } catch (FileNotFoundException ex) {
-            ctxt.incrementRemoved();
-            String includeRequestUri = (String)
-                request.getAttribute("javax.servlet.include.request_uri");
-            if (includeRequestUri != null) {
-                // This file was included. Throw an exception as
-                // a response.sendError() will be ignored by the
-                // servlet engine.
-                throw new ServletException(ex);
-            } else {
-                try {
-                    response.sendError(HttpServletResponse.SC_NOT_FOUND, 
-                                      ex.getMessage());
-                } catch (IllegalStateException ise) {
-                    log.error(Localizer.getMessage("jsp.error.file.not.found",
-                                                  ex.getMessage()),
-                             ex);
-                }
             }
         } catch (ServletException ex) {
             if(options.getDevelopment()) {



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

Reply via email to