简体   繁体   中英

struts2 web application not found

I have created a struts 2 application and deploy it in tomcat by creating a war file. There is nothing wrong with the file structure as below is how it display under tomcat after deploy.

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

But it gives the below error when i try to access the web site,

HTTP Status 404 The requested resource (/LoginApplication/User/Login) is not available.

But i found when tomcat start it gives below exception. But the jar file that claims to say missing is in right path.

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)

Below is the struts.xml file,

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

The error indicates you have got problems with struts.xml file. Pls post that here. Also use Maven for managing dependency. You will never have to bother about folders then.

Pls verify the libraries and versions in your lib.

  • 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

The namespace for the requested action Login is User. The URL should be like the below

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

Configure the XML

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

Note that package name and namespace are same

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM