diff options
author | Greg Wilkins | 2013-09-12 00:15:19 +0000 |
---|---|---|
committer | Greg Wilkins | 2013-09-12 00:15:19 +0000 |
commit | c21ce1183e33bc83fe83629f974c01357f3d8509 (patch) | |
tree | 03cfb7ef16208e646f164392a1aa9ae6309d9caa /jetty-servlet | |
parent | 4b3541b7d1661d2cb89f0af018c0dfe4abea8e8c (diff) | |
download | org.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.java | 22 |
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); + } + } } |