Update from Tomcat guys:
2012/4/20 Christopher Schultz <firstname.lastname@example.org>:
> To whom it may concern,
> On 4/14/12 3:37 PM, Net Dawg wrote:
>> To your question as to "what point merging algorithms are not
>> followed", please try this inside your application context and you will
>> probably see the same:
>> <welcome-file />
>> This seems to tell Tomcat 7, in plain English, "there are no welcome
>> files, don't bother looking for them anywhere" ...
> You probably aren't getting a response because you didn't answer the
> question. Your opinion of how things should work isn't really relevant,
> here. Konstantin asked where Tomcat's behavior violates the servlet spec
> and you replied by telling him what you think ought to happen. That's
> not an answer, so you're being ignored.
> Can you find a place where your "seems to tell" scenario above is
> actually supported by language in the servlet specification? If so, tell
> us where. If the spec isn't clear on a subject, usually the safest thing
> to do is not change anything because users have become reliant on
> certain behavior. If and when the spec is clarified, a change will be made.
1. According to XSD, and as illustrated in Figure 14-9 on page #153
("175 of 230") of Servlet 3.0 Rev.a specification, welcome-file-list
should contain at least one welcome-file element.
2. welcome-file type is xsd:string and said "contains file name to use
as a default welcome file".
So an empty string formally passes the XSD, but I nowhere see an
explicit saying on how to handle it. It certainly is not a "file
name", but it passes the restriction of not having leading or trailing
The algorithm in ch. 10.10 may work with empty strings (running a
fruitless loop - looking for a resource that is already known to not
exist), but I am not sure that it is a well-defined behaviour.
I'd be nice to have this clarified from the specification team (elsewhere).
3. According to chapter 8.1.6 (page #64, 86/230) of the same spec,
welcome file list defaults to contain index.htm(l) and index.jsp.