On Tue, 2003-01-07 at 04:40, Remy Maucherat wrote: > I'll -1 this patch unless the new behavior is made optional (and default > to the current behavior). > > Remy
Okay, it's now an init param which defaults to false. Following are DefaultServlet.java and web.xml patches. --- DefaultServlet.java.orig 2003-01-07 08:41:16.000000000 -0700 +++ DefaultServlet.java 2003-01-07 08:42:33.000000000 -0700 @@ -169,6 +169,10 @@ */ protected String welcomes[] = new String[0]; + /** + * Should we redirect or forward for welcome files? + */ + protected boolean forwardWelcomeFiles = false; /** * MD5 message digest provider. @@ -294,6 +298,13 @@ } catch (Throwable t) { ; } + try { + value = getServletConfig().getInitParameter("forwardWelcomeFiles"); + if (value != null) + forwardWelcomeFiles = (new Boolean(value)).booleanValue(); + } catch (Throwable t) { + ; + } // Sanity check on the specified buffer sizes if (input < 256) @@ -957,11 +968,16 @@ if (welcomeFileInfo != null) { String redirectPath = welcomeFileInfo.path; String contextPath = request.getContextPath(); - if ((contextPath != null) && (!contextPath.equals("/"))) { + if ((contextPath != null) && (!contextPath.equals("/")) && (!forwardWelcomeFiles)) { redirectPath = contextPath + redirectPath; } redirectPath = appendParameters(request, redirectPath); - response.sendRedirect(redirectPath); + if (forwardWelcomeFiles) { + request.getRequestDispatcher(redirectPath).forward(request, response); + } + else { + response.sendRedirect(redirectPath); + } return; } --- web.xml.orig 2003-01-07 08:58:09.000000000 -0700 +++ web.xml 2003-01-07 08:50:13.000000000 -0700 @@ -39,6 +39,9 @@ <!-- readonly Is this context "read only", so HTTP --> <!-- commands like PUT and DELETE are --> <!-- rejected? [true] --> + <!-- --> + <!-- forwardWelcomeFiles Should welcome files be forwarded instead --> + <!-- of being redirected? [false] --> <servlet> <servlet-name>default</servlet-name> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>