I was setting up an experimental struts installation to try out some ideas and I had it configured to try and use a struts action as the welcome page. In web.xml I had.
<welcome-file-list>
<welcome-file>welcome.jsp</welcome-file>
</welcome-file-list>
welcome.jsp used <logic:forward name="WELCOME"/> to forward to a global forward called WELCOME and in in struts-config.xml I had a global forward WELCOME defined as
<global-forwards>
<forward name="WELCOME"
path="/searchresults.do"
redirect="false"/>
</global-forwards>
This is the standard setup described in Programming Jakarta Struts.
However, when I tried to execute this in tomcat I got the message javax.servlet.ServletException: Cannot find global ActionForward for name WELCOME. From looking through/debugging the code it appears that the method public ModuleConfig getModuleConfig(HttpServletRequest request) in ModuleUtils class wasn't managing to find the configuration. The comment for this method includes If no moduleConfig is found, this means that the request haven't hit the server throught the struts servlet which got me thinking. Turns out that the solution to the problem was to set load-on-startup for the struts ActionServlet. With this set in web.xml all worked fine.