Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Want servlet to serve ONLY root URL

Hi David,

On Thu, Jun 9, 2011 at 11:46 AM, David Ehrmann <ehrmann@xxxxxxxxx> wrote:
> When I need to do this, I usually cheat and use urlrewritefilter.  I have
> the servlet serve /index, then rewrite / to /index.  With embedded Jetty, I
> had a few surprises if I didn't use the default servlet for /.

Thanks a lot for the suggestion.  Based on your idea, I created a
RewriteHandler which delegates to my ServletContext:

		// Add a RewriteHandler so that requests for the root document
		// are redirected to the /index servlet.
		RewriteHandler rewriteHandler = new RewriteHandler();
		rewriteHandler.setRewriteRequestURI(true);
		rewriteHandler.setRewritePathInfo(false);
		rewriteHandler.setOriginalPathAttribute("requestedPath");
		RewriteRegexRule rule = new RewriteRegexRule();
		rule.setRegex("/");
		rule.setReplacement("/index");
		rewriteHandler.addRule(rule);

		// The RewriteHandler delegates to the ServletContext (after
rewriting URLs as needed.)
		rewriteHandler.setHandler(servletContext);
		server.setHandler(rewriteHandler);

I'll probably look into UrlRewriteFilter at some point in the future if my
URL rewriting needs become more complex.

-Dave


Back to the top