I turned logging level to "TRACE" but it does not tell me much...
16:45:19,977 DEBUG [XmlConfigurationProvider] Loading action configurations from: struts-default.xml 16:45:20,387 DEBUG [XmlConfigurationProvider] Loaded action configuration from: struts-default.xml 16:45:20,407 INFO [XmlConfigurationProvider] Parsing configuration file [struts-default.xml] 16:45:20,427 DEBUG [XmlConfigurationProvider] Loaded type: name:xwork impl:com.opensymphony.xwork2.ObjectFactory 16:45:20,447 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.ObjectFactory name:struts impl:org.apache.struts2.impl.StrutsObjectFactory 16:45:20,457 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.ActionProxyFactory name:xwork impl:com.opensymphony.xwork2.DefaultActionProxyFactory 16:45:20,467 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.ActionProxyFactory name:struts impl:org.apache.struts2.impl.StrutsActionProxyFactory 16:45:20,477 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.conversion.ObjectTypeDeterminer name:tiger impl:com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer 16:45:20,477 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.conversion.ObjectTypeDeterminer name:notiger impl:com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer 16:45:20,487 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.conversion.ObjectTypeDeterminer name:struts impl:com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer 16:45:20,487 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.util.PatternMatcher name:struts impl:com.opensymphony.xwork2.util.WildcardHelper 16:45:20,507 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.dispatcher.mapper.ActionMapper name:struts impl:org.apache.struts2.dispatcher.mapper.DefaultActionMapper 16:45:20,507 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.dispatcher.mapper.ActionMapper name:composite impl:org.apache.struts2.dispatcher.mapper.CompositeActionMapper 16:45:20,517 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.dispatcher.mapper.ActionMapper name:restful impl:org.apache.struts2.dispatcher.mapper.RestfulActionMapper 16:45:20,517 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.dispatcher.mapper.ActionMapper name:restful2 impl:org.apache.struts2.dispatcher.mapper.Restful2ActionMapper 16:45:20,547 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.dispatcher.multipart.MultiPartRequest name:struts impl:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest 16:45:20,547 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.dispatcher.multipart.MultiPartRequest name:jakarta impl:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest 16:45:20,547 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.views.TagLibrary name:s impl:org.apache.struts2.views.DefaultTagLibrary 16:45:20,587 DEBUG [XmlConfigurationProvider] Loaded type: name:struts impl:org.apache.struts2.views.freemarker.FreemarkerManager 16:45:20,597 DEBUG [XmlConfigurationProvider] Unable to load optional class: java.lang.NoClassDefFoundError: org/apache/velocity/tools/view/ToolboxManager 16:45:20,597 DEBUG [XmlConfigurationProvider] Loaded type: name:default impl:org.apache.struts2.components.template.TemplateEngineManager 16:45:20,628 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.components.template.TemplateEngine name:ftl impl:org.apache.struts2.components.template.FreemarkerTemplateEngine 16:45:20,628 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.components.template.TemplateEngine name:vm impl:org.apache.struts2.components.template.VelocityTemplateEngine 16:45:20,638 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.components.template.TemplateEngine name:jsp impl:org.apache.struts2.components.template.JspTemplateEngine 16:45:20,668 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.conversion.impl.XWorkConverter name:struts impl:com.opensymphony.xwork2.conversion.impl.XWorkConverter 16:45:20,668 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.conversion.impl.XWorkConverter name:xwork1 impl:com.opensymphony.xwork2.conversion.impl.XWorkConverter 16:45:20,678 DEBUG [XmlConfigurationProvider] Loaded type: name:default impl:com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter 16:45:20,688 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.TextProvider name:xwork1 impl:com.opensymphony.xwork2.TextProviderSupport 16:45:20,688 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.TextProvider name:struts impl:com.opensymphony.xwork2.TextProviderSupport 16:45:20,698 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.components.UrlRenderer name:struts impl:org.apache.struts2.components.ServletUrlRenderer 16:45:20,718 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.util.ValueStackFactory name:struts impl:com.opensymphony.xwork2.ognl.OgnlValueStackFactory 16:45:20,728 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.util.reflection.ReflectionProvider name:struts impl:com.opensymphony.xwork2.ognl.OgnlReflectionProvider 16:45:20,728 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.util.reflection.ReflectionContextFactory name:struts impl:com.opensymphony.xwork2.ognl.OgnlReflectionContextFactory 16:45:20,738 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.TextProvider name:system impl:com.opensymphony.xwork2.DefaultTextProvider 16:45:20,738 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.conversion.NullHandler name:java.lang.Object impl:com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler 16:45:20,758 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.validator.ActionValidatorManager name:struts impl:com.opensymphony.xwork2.validator.AnnotationActionValidatorManager 16:45:20,758 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.validator.ActionValidatorManager name:no-annotations impl:com.opensymphony.xwork2.validator.DefaultActionValidatorManager 16:45:20,768 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.validator.ValidatorFactory name:default impl:com.opensymphony.xwork2.validator.DefaultValidatorFactory 16:45:20,778 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.validator.ValidatorFileParser name:default impl:com.opensymphony.xwork2.validator.DefaultValidatorFileParser 16:45:20,778 DEBUG [XmlConfigurationProvider] Loaded type: name:default impl:com.opensymphony.xwork2.ognl.OgnlUtil 16:45:20,798 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:com.opensymphony.xwork2.util.CompoundRoot impl:com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor 16:45:20,808 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.lang.Object impl:com.opensymphony.xwork2.ognl.accessor.ObjectAccessor 16:45:20,808 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.util.Iterator impl:com.opensymphony.xwork2.ognl.accessor.XWorkIteratorPropertyAccessor 16:45:20,818 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.util.Enumeration impl:com.opensymphony.xwork2.ognl.accessor.XWorkEnumerationAccessor 16:45:20,828 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.util.List impl:com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor 16:45:20,828 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.util.Set impl:com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor 16:45:20,838 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.util.Map impl:com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor 16:45:20,838 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.util.Collection impl:com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor 16:45:20,838 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:com.opensymphony.xwork2.ognl.ObjectProxy impl:com.opensymphony.xwork2.ognl.accessor.ObjectProxyPropertyAccessor 16:45:20,848 DEBUG [XmlConfigurationProvider] Loaded type:ognl.MethodAccessor name:java.lang.Object impl:com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor 16:45:20,848 DEBUG [XmlConfigurationProvider] Loaded type:ognl.MethodAccessor name:com.opensymphony.xwork2.util.CompoundRoot impl:com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor 16:45:20,858 DEBUG [XmlConfigurationProvider] Loaded type: name:default impl:org.apache.struts2.views.jsp.ui.OgnlTool 16:45:20,868 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.dispatcher.StaticContentLoader name:struts impl:org.apache.struts2.dispatcher.DefaultStaticContentLoader 16:45:20,868 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.UnknownHandlerManager name:struts impl:com.opensymphony.xwork2.DefaultUnknownHandlerManager 16:45:20,868 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.util.ArrayList impl:com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor 16:45:20,868 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.util.HashSet impl:com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor 16:45:20,868 DEBUG [XmlConfigurationProvider] Loaded type:ognl.PropertyAccessor name:java.util.HashMap impl:com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor 16:45:20,868 DEBUG [XmlConfigurationProvider] Loading action configurations from: struts-plugin.xml 16:45:20,918 DEBUG [XmlConfigurationProvider] Loaded action configuration from: struts-plugin.xml 16:45:20,918 INFO [XmlConfigurationProvider] Parsing configuration file [struts-plugin.xml] 16:45:20,938 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.UnknownHandler name:default impl:org.apache.struts2.convention.ConventionUnknownHandler 16:45:20,958 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.convention.ActionConfigBuilder name:default impl:org.apache.struts2.convention.PackageBasedActionConfigBuilder 16:45:20,958 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.convention.ActionNameBuilder name:default impl:org.apache.struts2.convention.SEOActionNameBuilder 16:45:20,968 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.convention.ResultMapBuilder name:default impl:org.apache.struts2.convention.DefaultResultMapBuilder 16:45:20,968 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.convention.InterceptorMapBuilder name:default impl:org.apache.struts2.convention.DefaultInterceptorMapBuilder 16:45:20,978 DEBUG [XmlConfigurationProvider] Loaded type:org.apache.struts2.convention.ConventionsService name:default impl:org.apache.struts2.convention.ConventionsServiceImpl 16:45:20,978 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.config.PackageProvider name:convention.packageProvider impl:org.apache.struts2.convention.ClasspathPackageProvider 16:45:20,988 DEBUG [XmlConfigurationProvider] Loaded type:com.opensymphony.xwork2.config.PackageProvider name:convention.containerProvider impl:org.apache.struts2.convention.ClasspathConfigurationProvider 16:45:20,988 DEBUG [XmlConfigurationProvider] Loading action configurations from: struts.xml 16:45:21,038 DEBUG [XmlConfigurationProvider] Loaded action configuration from: struts.xml 16:45:21,038 INFO [XmlConfigurationProvider] Parsing configuration file [struts.xml] 16:45:21,138 DEBUG [LocalizedTextUtil] Added default resource bundle 'org/apache/struts2/struts-messages' to default resource bundles = [org/apache/struts2/struts-messages, com/opensymphony/xwork2/xwork-messages] 16:45:21,979 DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:struts-default namespace: parents:[]} 16:45:22,280 DEBUG [DefaultValidatorFactory] Loading validator definitions. 16:45:22,470 DEBUG [I18nInterceptor] new I18nInterceptor() 16:45:22,480 DEBUG [I18nInterceptor] new I18nInterceptor() 16:45:22,490 DEBUG [I18nInterceptor] new I18nInterceptor() 16:45:22,540 DEBUG [XmlConfigurationProvider] Loaded [BUILDER] {PackageConfig Name:convention-default namespace: parents:[{PackageConfig Name:struts-default namespace: parents:[]}]} 16:45:22,580 TRACE [PackageBasedActionConfigBuilder] Setting action default parent package to [convention-default] 16:45:22,580 TRACE [PackageBasedActionConfigBuilder] Loading action configurations 16:45:22,580 TRACE [PackageBasedActionConfigBuilder] Actions being loaded using package locators [action, actions, struts, struts2] 16:45:22,580 TRACE [PackageBasedActionConfigBuilder] Excluding actions from packages [org.apache.struts.*, org.apache.struts2.*, org.springframework.web.struts.*, org.springframework.web.struts2.*, org.hibernate.*] 16:45:26,937 DEBUG [PackageBasedActionConfigBuilder] Processing class [example.actions.HelloWorld] in package [example.actions] 16:45:26,947 TRACE [SEOActionNameBuilder] Changed action name from [HelloWorld] to [hello-world] 16:45:26,947 TRACE [PackageBasedActionConfigBuilder] Got actionName for class [class example.actions.HelloWorld] of [hello-world] 16:45:26,957 TRACE [PackageBasedActionConfigBuilder] Created package config named [example.actions#convention-default#] with a namespace [] 16:45:26,977 DEBUG [PackageBasedActionConfigBuilder] Creating action config for class [class example.actions.HelloWorld], name [hello-world] and package name [example.actions#convention-default#] in namespace [] 16:45:26,977 TRACE [DefaultResultMapBuilder] Using final calculated namespace [] 16:45:26,977 TRACE [DefaultResultMapBuilder] Searching for results in the Servlet container at [/WEB-INF/content/] with result prefix of [/WEB-INF/content/hello-world] 16:45:26,987 TRACE [DefaultResultMapBuilder] Processing resource path [/WEB-INF/content/hello-world.jsp] 16:45:26,987 TRACE [DefaultResultMapBuilder] The result file [/WEB-INF/content/hello-world.jsp] has no result code and therefore will be associated with success, input and error by default. This might be overridden by another result file or an annotation. 16:45:26,997 TRACE [DefaultResultMapBuilder] Searching for results in the class path at [WEB-INF/content/] with a result prefix of [/WEB-INF/content/hello-world] and action name [hello-world] 16:45:27,007 TRACE [DefaultResultMapBuilder] Processing URL [hello-world.jsp] 16:45:27,007 TRACE [DefaultResultMapBuilder] The result file [/WEB-INF/content/hello-world.jsp] has no result code and therefore will be associated with success, input and error by default. This might be overridden by another result file or an annotation.