1

我已经创建了一个 struts 2 应用程序,并通过创建一个 war 文件将其部署在 tomcat 中。文件结构没有问题,如下是部署后在tomcat下的显示方式。

css
META-INF
User
  pages
    login.jsp
    customer_list.jsp
WEB-INF
    classes
       struts.xml
    lib
    web.xml

但是当我尝试访问该网站时,它给出了以下错误,

HTTP 状态 404 请求的资源 (/LoginApplication/User/Login) 不可用。

但是我发现当tomcat启动时它给出了以下异常。但是声称丢失的jar文件在正确的路径中。

Unable to load configuration. - bean - jar:file:/C:/tomcat6/webapps/LoginApplication/WEB-INF/lib/struts2-core-2.3.1.2.jar!/struts-default.xml:54:89
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:449)
    at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)

下面是 struts.xml 文件,

<struts>

    <constant name="struts.devMode" value="true" /> 

    <package name="user" namespace="/User" extends="struts-default">
        <action name="Login">
            <result>pages/login.jsp</result>
        </action>
        <action name="Welcome" class="loginapplication.action.UserLoginAction">
            <result type="redirect" name="SUCCESS">Customers</result>
            <result name="input">pages/login.jsp</result>
        </action>
        <action name="Customers" class="loginapplication.action.ViewCustomerAction">
            <result name="SUCCESS">pages/customer_list.jsp</result>
        </action>
    </package>

</struts>
4

2 回答 2

1

该错误表明您在使用 struts.xml 文件时遇到了问题。请在此处发布。还使用 Maven 来管理依赖项。你将永远不必为文件夹而烦恼。

请验证您的库中的库和版本。

  • commons-logging-1.1.jar
  • freemarker-2.3.8.jar
  • ognl-2.6.11.jar
  • struts2-core-2.0.6.jar
  • xwork-2.0.1.jar
于 2012-10-24T06:28:25.700 回答
0

请求的操作登录的命名空间是用户。URL 应如下所示

http://localhost:8080/MyApp/User/Login

配置 XML

 <package name="User" namespace="/User" extends="struts-default">
        <action name="Login">
            <result>pages/login.jsp</result>
        </action>
    </package>

注意包名和命名空间是一样的

于 2012-10-24T07:07:59.140 回答