> From: Christopher Schultz <ch...@christopherschultz.net> > To: Struts Users Mailing List <user@struts.apache.org>, > Date: 26.09.2015 23:31 > Subject: [S2] Trouble getting started > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > All, > > I'm working on a fresh project and using Struts 2 for the first time. > I've been using Struts 1 for more than 10 years and I generally know > my way around web applications. > > I just can't seem to get a fairly simple setup working. I'm intending > to use XML-based configuration and not annotation-based configuration. > > Here's what I've got: > > * Struts 2.3.24.1 > * Tomcat 8.0.24 > * A simple web app > > My web.xml looks like this: > <filter> > <description> > Struts 2 action filter. > </description> > <filter-name>struts2</filter-name> > > <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndEx > ecuteFilter</filter-class> > <init-param> > <param-name>actionPackages</param-name> > <param-value>my.package.business</param-value> > <!-- do I need this if I'm going to use XML-based config? --> > </init-param> > </filter> >
Nope, "actionPackages" is used by convention-plugin only. You don't need it in your case. > <filter-mapping> > <filter-name>struts2</filter-name> > <url-pattern>/*</url-pattern> > </filter-mapping> > This could be the problem. Please try *.action here. Not sure anymore but I think there are issues when using different url-patterns. > My struts.xml looks like this: > > <?xml version="1.0" encoding="UTF-8" ?> > <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts > Configuration 2.0//EN" > "http://struts.apache.org/dtds/struts-2.0.dtd"> > > <struts> > <constant name="struts.devMode" value="true" /> > > <package name="default" namespace="/" extends="struts-default"> > <action name="list" class="my.package.business.ListAction"> > <result>/WEB-INF/list.jsp</result> > </action> > </package> > </struts> > > I have a class, my.package.business.ListAction which has a > > public String execute() > > method. I return "success" from this method (unless an exception is > thrown). During startup, I can see that Struts/XWork is being initialize > d: > > 26-Sep-2015 17:19:32.613 FINE [localhost-startStop-1] > com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.debug > Loaded > list in 'default' package:{ActionConfig //list > (my.package.business.ListAction) - action - > file:/path/to/deploy/webapps/ROOT/WEB-INF/classes/struts.xml: > 9:68} > > When I try to access http://localhost:8080/list.action, I get a 404 > response with nothing in the logs (except the access log: request to > /list.action resulted in a 404). > Comes the 404 along with html? What does it look like? Is it a tomcat-error-page? Do you have your app deployed as root app? So you don't need context-path in URL? Regards, Christoph This Email was scanned by Sophos Anti Virus