I was reviewing the source code and operation of the mod_webapp library module and noticed a little operational quirk..
I've seen a couple of messages relevant to this but nothing that really gives me the correct answer. In the Sun Servlet specification v2.3 section 4.4 describes the parts that make up a Request URI. The problem is this: lines 81-88 of jakarta-tomcat-connectors/webapp/lib/wa_config.c does some normalizing of the deployment URL path: 81 strncpy(buf,p,1024); 82 l=strlen(buf)-1; 83 if (buf[l]=='/') buf[l]='\0'; 84 if (buf[0]=='/' || l==0) { 85 appl->rpth=apr_pstrcat(wa_pool,buf,"/",NULL); 86 } else { 87 appl->rpth=apr_pstrcat(wa_pool,"/",buf,"/",NULL); 88 } In the case that the buffer is loaded with the correct application path starting with '/' or if the application name is empty (indicating that this is the ROOT context of the app server) a '/' is appended. Unfortunately this causes a requests to /someapp to fail with a 404 and /someapp/ to work correctly provided that there is a welcome file list associated with the application. Applications like Tomcat's manager application choke on this, as it's attempting to list the applications associated under '/' instead of listing all the applications that are in the servlet. The manager think's your asking for anything with the servlet path '/', as the breakdown of the request URI is: - Context Path = "/manager" (assuming we've deployed the manager as '/manager') - Servlet Path = "/" - Path Info = "" If the above code snippet was changed to the following: strncpy(buf,p,1024); l=strlen(buf)-1; if (buf[l]=='/') buf[l]='\0'; if(l == 0) { appl->rpth=apr_pstrcat(wa_pool, buf, NULL); } else if (buf[0]=='/') { appl->rpth=apr_pstrcat(wa_pool,buf,NULL); } else { appl->rpth=apr_pstrcat(wa_pool,"/",buf,NULL); } I think it may solve the issue of application failure. -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>