I started to go through the Getting Started examples at https://struts.apache.org/getting-started/index.html. I downloaded all the examples from https://github.com/apache/struts-examples. I would expect that I should be able to run `mvn jetty:run` from any of the examples, follow the appropriate link, and it should work as in the corresponding tutorial. However, this breaks down very quickly as when I try to run that for the `helloworld` example, I get the following error in my web browser when going to the link http://localhost:8080/helloworld/index.action: HTTP ERROR 404 Not Found URI: /helloworld/index.action STATUS: 404 MESSAGE: Not Found SERVLET: default ------------------------------ Powered by Jetty:// 9.4.46.v20220331 <https://eclipse.org/jetty>
With debug logging enabled, navigating to localhost:8080/helloworld/index.action spits the following two lines of output to the console: 2024-04-14 14:44:44,340 DEBUG [qtp273531298-62] config.ConfigurationManager (ConfigurationManager.java:180) - Checking ConfigurationProviders for reload. 2024-04-14 14:44:44,343 DEBUG [qtp273531298-62] impl.InstantiatingNullHandler (InstantiatingNullHandler.java:98) - Entering nullPropertyValue [target=[com.opensymphony.xwork2.DefaultTextProvider@6dbebaa7], property=struts] If I remove the line "<constant name="struts.action.extension" value=","/>" from struts.xml, then the example seems to work. It gets the same two lines of output to the console followed by: 2024-04-14 14:51:46,765 DEBUG [qtp273531298-50] xwork2.DefaultActionProxy (DefaultActionProxy.java:85) - Creating an DefaultActionProxy for namespace [/] and action name [index] As well as a bunch of other logging after that before the page renders. >From searching for this configuration, I think the intention of this line is to remove the `.action` suffix from the action (e.g. the link in the web browser displays localhost:8080/helloworld/index rather than http://localhost:8080/helloworld/index.action). So, I'm curious what I have configured wrong that doesn't allow this to work. I'm using Java 21 (Corretto). Let me know if there are other dependencies that you need to know the version of. Any help would be greatly appreciated. Thanks, Tim Mousaw