2012-10-24 41 views
1

我創建了一個struts 2應用程序,並通過創建一個war文件將它部署在tomcat中。下面的文件結構沒有任何問題,它是在部署後在tomcat下顯示的。未找到struts2 web應用程序

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

但是當我嘗試訪問該網站,它提供了下面的錯誤,

HTTP狀態404所請求的資源(/ LoginApplication /用戶/登錄)不可用。

但是我發現當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> 
+1

你有沒有放在罐子Struts的Tomcat內。有時候,如果罐子被加載兩次,它會拋出這個錯誤 – Murugesh

+0

我還沒有把罐子放在tomcat內 – FrankD

+0

什麼都沒說,缺少任何東西。請顯示其餘的例外情況。如果沒有更多的信息,我猜你會錯過一個庫,或者在類路徑上有兩次S2庫/庫。 –

回答

1

的錯誤表明您已經得到了與struts.xml的文件的問題。請在這裏發佈。還可以使用Maven來管理依賴關係。那麼你永遠不必擔心文件夾。

請驗證您的庫中的庫和版本。

  • 共享記錄-1.1.jar
  • 的freemarker-2.3.8.jar
  • OGNL-2.6.11.jar
  • Struts2的核心 - 2.0.6.jar
  • xwork- 2.0.1.jar
+0

我已經發布了struts.xml – FrankD

+0

@HarshanaD請驗證庫和版本。在我的回答中加入 –

+0

@HarshanaD去找maven。或者最好的選擇是下載struts-blank.war並使用所有庫。只是版本的變化導致了錯誤。 –

0

請求的操作的命名空間登錄名是User。該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> 

注意包名稱和命名空間是相同的

+0

是的,我正在使用命名空間訪問應用程序。這是我沒有放置命名空間的帖子中的一個錯字 – FrankD