The only time I have seen this is if you put the welcome-file-list tag in the wrong place in the web.xml file. Check out the dtd for the web.xml file and check you have it in the right place.
Hmmm, I have it at the end of the file, right after servlet-mapping, and that seems consistent with the spec posted here: http://java.sun.com/j2ee/dtds/web-app_2_2.dtd
I have this at the end of my file...
What else could it be?
In case anyone else goes down this path, I finally figured out what was going wrong--- the welcome-file I specify (home.m) is an URL but not an actual file on the filesystem, which is what needs to be specified. Tomcat was looking for a home.m file, which didn't exist in the content directory, so it just gave up and showed the directory tree.
I guess the solution is to have an index.html file as the welcome file and just have it redirect to the /home.m URL.
Strangely enough, try creating a zero length home.m file. This worked for me.
I ran across a slightly different problem....I specified my welcome-file as index.jsp and verified the file existed in the correct location in the war file and I still get the directory listing. Does anyone have ideas why it would get ignored?