Author: remy.maucherat(a)jboss.com
Date: 2007-08-08 13:32:06 -0400 (Wed, 08 Aug 2007)
New Revision: 216
Modified:
trunk/java/org/apache/jasper/servlet/JspServlet.java
trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
Log:
- Better error reporting when an include doesn't exist.
- To be checked by the TCK ...
Modified: trunk/java/org/apache/jasper/servlet/JspServlet.java
===================================================================
--- trunk/java/org/apache/jasper/servlet/JspServlet.java 2007-08-08 17:30:06 UTC (rev
215)
+++ trunk/java/org/apache/jasper/servlet/JspServlet.java 2007-08-08 17:32:06 UTC (rev
216)
@@ -305,8 +305,25 @@
// 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: trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
===================================================================
--- trunk/java/org/apache/jasper/servlet/JspServletWrapper.java 2007-08-08 17:30:06 UTC
(rev 215)
+++ trunk/java/org/apache/jasper/servlet/JspServletWrapper.java 2007-08-08 17:32:06 UTC
(rev 216)
@@ -328,25 +328,6 @@
return;
}
- } 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()) {
throw handleJspException(ex);
Show replies by date