找不到struts2 Web应用程序

时间:2012-10-24 06:06:01

标签: java tomcat struts2

我创建了一个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>

2 个答案:

答案 0 :(得分:1)

该错误表明您遇到struts.xml文件问题。请在这里发布。还使用Maven来管理依赖。那么你永远不必为文件夹而烦恼。

请验证lib中的库和版本。

  • 共享记录-1.1.jar
  • 的freemarker-2.3.8.jar
  • OGNL-2.6.11.jar
  • struts2的核 - 2.0.6.jar
  • xwork-2.0.1.jar

答案 1 :(得分:0)

请求操作的命名空间Login是User。网址应如下所示

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>

请注意,包名称和命名空间相同