Welcome pages work best as simple HTML or
JSP pages. Frameworks such as
JSF or Struts may not handle them reliably, since the welcome page is dispatched directly from the webapp server which may not route through the appropriate dispatcher
servlet.
I just double-checked the XML schema, and the terminology there is clear: It's a welcome
file (resource) and not a welcome
URL, which pretty well rules out Struts and JSF, which are driven by URLs.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.