Я пытаюсь заставить веб-приложение Struts2 и Jetty играть хорошо.По какой-то причине с перехватчиками Struts и настроенным FilterDispatcher мой приветственный файл никогда не поднимается, я всегда сталкиваюсь с 404. У меня есть index.jsp в моем веб-приложении, но по какой-то причине при доступе к http://localhost/webapp я всегда сталкиваюсь с 404.
На данный момент я установил default-action-ref для своего index.jsp в struts.xml, но это означает, что даже для действительно несуществующих файлов пользователь будет перенаправлен на страницу индекса.Есть ли более чистый способ гарантировать, что Jetty заберет файл приветствия?Приветственный файл подбирается, если Struts FilterDispatcher не используется, поэтому я считаю, что он как-то связан с настройкой распорок?
Web.xml является довольно стандартнымweb.xml, ничего особенного (?!).Как я уже говорил ранее, я подозреваю, что это как-то связано с конфигурацией struts.xml.
struts.xml: </p>
<p>
</p>
<pre><code><constant name="struts.serve.static" value="true"/>
<constant name="struts.codebehind.pathPrefix" value="/WEB-INF/pages/"/>
<constant name="struts.configuration.classpath.defaultParentPackage" value="cms-default"/>
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
<constant name="struts.custom.i18n.resources" value="cms-messages,cms-version"/>
<constant name="struts.multipart.maxSize" value="31457280"/>
<package name="cms-default" extends="codebehind-default">
<interceptors>
<interceptor-stack name="cmsStack">
<interceptor-ref name="alias" />
<interceptor-ref name="params" />
<interceptor-ref name="servletConfig" />
<interceptor-ref name="prepare" />
<interceptor-ref name="i18n" />
<interceptor-ref name="chain" />
<interceptor-ref name="modelDriven" />
<interceptor-ref name="fileUpload" />
<interceptor-ref name="checkbox" />
<interceptor-ref name="staticParams" />
<interceptor-ref name="conversionError" />
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="cmsStack" />
<default-action-ref name="index"></default-action-ref>
<global-results>
<result name="redirectToUrl" type="redirect">${redirectedToURL}</result>
</global-results>
<action name="index">
<result>/index.jsp</result>
</action>
</package>
FWIW, проблемы, с которыми я сталкиваюсь, почти те же, что упомянуты в этой ветке электронной почты.
Обновлено С дополнительной информацией о настройке.Да, название webapp было просто примером:)