Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2013-09-12 00:15:19 +0000
committerGreg Wilkins2013-09-12 00:15:19 +0000
commitc21ce1183e33bc83fe83629f974c01357f3d8509 (patch)
tree03cfb7ef16208e646f164392a1aa9ae6309d9caa /jetty-servlet
parent4b3541b7d1661d2cb89f0af018c0dfe4abea8e8c (diff)
downloadorg.eclipse.jetty.project-c21ce1183e33bc83fe83629f974c01357f3d8509.tar.gz
org.eclipse.jetty.project-c21ce1183e33bc83fe83629f974c01357f3d8509.tar.xz
org.eclipse.jetty.project-c21ce1183e33bc83fe83629f974c01357f3d8509.zip
417023 Add Default404Servlet if no default servlet set
Diffstat (limited to 'jetty-servlet')
-rw-r--r--jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java22
1 files changed, 21 insertions, 1 deletions
diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java
index dcff963e3c..d49ac6e49b 100644
--- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java
+++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java
@@ -47,6 +47,7 @@ import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.ServletSecurityElement;
import javax.servlet.UnavailableException;
+import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -147,7 +148,15 @@ public class ServletHandler extends ScopedHandler
}
updateNameMappings();
- updateMappings();
+ updateMappings();
+
+ if (getServletMapping("/")==null)
+ {
+ LOG.debug("Adding Default404Servlet to {}",this);
+ addServletWithMapping(Default404Servlet.class,"/");
+ updateMappings();
+ getServletMapping("/").setDefault(true);
+ }
if(_filterChainsCached)
{
@@ -1694,4 +1703,15 @@ public class ServletHandler extends ScopedHandler
_contextHandler.destroyFilter(filter);
}
+ /* ------------------------------------------------------------ */
+ /* ------------------------------------------------------------ */
+ /* ------------------------------------------------------------ */
+ public static class Default404Servlet extends HttpServlet
+ {
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException
+ {
+ resp.sendError(HttpServletResponse.SC_NOT_FOUND);
+ }
+ }
}

Back to the top