In my experience most containers rely on the existence of the file specified in the <welcome-files>, but don't directly use it. Because of this, if you define your welcome file as:
<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> Then create a dummy (or even 0 byte length) index.jsp file, your container will actually go through the normal process of filling the request, which will allow Struts2 to do it's normal processing and return the requested result. I know it works well with Resin and other containers, but YMMV. (*Chris*) On Fri, May 31, 2013 at 12:00 PM, Lukasz Lenart <lukaszlen...@apache.org>wrote: > 2013/5/31 Antonio Sánchez <inganto...@gmail.com>: > > I have to move struts.xml (originally inside resources folder) inside > maven > > 'main' folder to make it work and avoid > > > > HTTP 404 - There is no Action mapped for namespace [/] and action > name > > [] associated with context path [/Hello_World_Struts2_Mvn]. > > > > but then struts.xml is unreachable in Netbeans project window. > > You shouldn't do that ... struts.xml must lay in resource folder (it > will be copied to WEB-INF/classes during package phase) > > > > I can't find the right way. I have updated libs to the latest ones. > > struts.xml is in WEB-INF/classes in war file deployed by Netbeans (Tomcat > > 7). > > > > Bellow struts and web xmls > > > > <struts> > > <!-- Include webwork default (from the Struts JAR). --> > > <include file="struts-default.xml"/> > > Struts2 include this file by default, you don't have to do this (it > can even be source of unpredictable problems) > > > <!-- Configuration for the default package. --> > > <package name="default" extends="struts-default"> > > > > <!-- Default interceptor stack. --> > > <default-interceptor-ref name="paramsPrepareParamsStack"/> > > <action name="index" > > class="com.aurifa.struts2.tutorial.action.EmployeeAction" method="list"> > > <result name="success">/WEB-INF/jsp/employees.jsp</result> > > <!-- we don't need the full stack here --> > > <interceptor-ref name="basicStack"/> > > </action> > > <action name="crud" > > class="com.aurifa.struts2.tutorial.action.EmployeeAction" method="input"> > > <result name="success" type="redirectAction">index</result> > > <result name="input">/WEB-INF/jsp/employeeForm.jsp</result> > > <result name="error">/WEB-INF/jsp/error.jsp</result> > > </action> > > </package> > > </struts> > > You have two options here: > - define action with blank name (I don't like it as this is some kind > trick and not expected behaviour), ie. > <action name="" > class="com.aurifa.struts2.tutorial.action.EmployeeAction" > method="input"> > - define default-action-ref per package > <default-action-ref name="index/> > > <welcome-files/> will not work as most of the containers doesn't allow > forwarding to non-static resources, you can try to define struts2 > filter as below to achieve that: > > <filter-mapping> > <filter-name>struts2</filter-name> > <url-pattern>/*</url-pattern> > <dispatcher>REQUEST</dispatcher> > <dispatcher>FORWARD</dispatcher> > <dispatcher>INCLUDE</dispatcher> > </filter-mapping> > > > Regards > -- > Łukasz > + 48 606 323 122 http://www.lenart.org.pl/ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > >