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]