Struts2和Jetty欢迎文件列表

时间:2011-02-25 00:48:27

标签: struts2 jetty

我试图让Struts2 webapp和Jetty发挥得很好。由于某些原因,Struts拦截器和FilterDispatcher已配置,我的欢迎文件永远不会被拾取我总是遇到404.我的webapp中有index.jsp但由于某些原因访问http://localhost/webapp时我总是遇到404。

现在我已经在struts.xml中将default-action-ref设置为我的index.jsp,但这意味着即使对于真正不存在的文件,用户也会被重定向到索引页面。有没有更清洁的方法来确保Jetty获取欢迎文件?如果使用struts FilterDispatcher ,欢迎文件会被拾取,所以我认为它与struts的配置方式有关?

web.xml是一个相当标准的web.xml,没有任何花哨的东西(?!)。正如我之前所说,我怀疑它与struts.xml配置有关。

struts.xml中:

<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>

<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,我遇到的问题与this电子邮件主题中提到的几乎相同。

已更新了解有关设置的详细信息。是的,webapp这个名字只是一个例子:)

0 个答案:

没有答案