Implemented defaultServlet which lives outside of the
WildcardDictionary that matches URL patterns to servlets.
This commit is contained in:
parent
619dafac6d
commit
58e0306fb8
1 changed files with 8 additions and 0 deletions
|
@ -147,6 +147,8 @@ public class Serve implements ServletContext, Runnable
|
|||
private int port;
|
||||
private PrintStream logStream;
|
||||
Acme.WildcardDictionary registry;
|
||||
// the servlet to use if no other matches the request
|
||||
Servlet defaultServlet;
|
||||
Properties props;
|
||||
|
||||
/// Constructor.
|
||||
|
@ -268,6 +270,10 @@ public class Serve implements ServletContext, Runnable
|
|||
registry.remove (urlPat);
|
||||
}
|
||||
|
||||
public void setDefaultServlet (Servlet servlet) {
|
||||
defaultServlet = servlet;
|
||||
}
|
||||
|
||||
/// Register a standard set of Servlets. These will return
|
||||
// files or directory listings, and run CGI programs, much like a
|
||||
// standard HTTP server.
|
||||
|
@ -653,6 +659,8 @@ class ServeConnection implements Runnable, HttpServletRequest, HttpServletRespon
|
|||
if (reqQuery != null)
|
||||
reqQuery = decode (reqQuery);
|
||||
Servlet servlet = (Servlet) serve.registry.get( reqUriPath );
|
||||
if (servlet == null)
|
||||
servlet = serve.defaultServlet;
|
||||
if ( servlet != null )
|
||||
runServlet( (HttpServlet) servlet );
|
||||
else if ( "/".equals( reqUriPath ))
|
||||
|
|
Loading…
Add table
Reference in a new issue