2012-06-11 40 views
1

我想運行this示例使用struts 2.我將庫插入eclipse中動態Web項目的Web-Inf的Lib文件夾中。無法使用struts 2加載任何頁面。問題與web.xml

我的web.xml看起來像現在這樣:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 

    <filter> 
     <filter-name>struts2</filter-name> 
     <filter-class> 
       org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 
     </filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>struts2</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
</web-app> 

和我創建了struts.xml中並把它放在源文件夾中,其內容是

<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd"> 

<struts> 
    <!-- Configuration for the default package. --> 
    <package name="default" extends="struts-default"> 
     <action name="UserAction" class="struts.UserAction"> 
      <result name="input">/index.jsp</result> 
      <result name="success">/result.jsp</result> 
     </action> 
    </package> 
</struts> 

所以現在當我運行任何jsp我得到以下錯誤在Eclipse控制檯

無法加載配置。 - bean-jar:file:/ D:/Users/Don/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/Mscs674-Struts2/WEB-INF/lib/struts2-gxp -plugin-2.3.4.jar /struts-plugin.xml:8:162

,這在網頁上

HTTP Status 404 - 

type Status report 

message 

description The requested resource() is not available. 

有什麼建議?

+0

當你告訴人們你要放入什麼目錄時,它對於大小寫等非常準確非常重要。例如,現在,目錄你的列表不正確 - 庫應該放在'WEB-INF/lib'中。 –

+1

此外,這是一個非常舊的版本的S2,應該*不*使用。庫@Fidrizers列表更新(但仍舊),並且可能不適用於舊版本的S2。另外,你看到一個與GXP插件相關的問題,意味着你包含了你不*使用的庫,你應該*不*這樣做 - 插件可以改變S2的默認行爲。打開'devMode'並檢查你的日誌。 –

回答

1

似乎像一些罐子丟失.. !!

常見的依賴條件是::

commons-fileupload-1.2.1.jar 
- commons-io-1.3.2.jar 
- commons-logging-1.0.4.jar 
- commons-logging-api-1.1.jar 
- freemarker-2.3.15,jar 
- log4j-1.2.14.jar 
- ognl-2.7.3.jar 
- xwork-core-2.1.6.jar 

檢查版本號並添加罐子類路徑中。

+0

我將這些文件添加到WEB-INF下的lib文件夾中,然後右鍵單擊庫選項卡中選中「添加JAR」的文件夾,然後瀏覽到同一項目並選擇我發佈的所有庫。 – MistyD

+0

所有的rar文件都在那裏除了log4j – MistyD

+1

你如何建立這個項目? 轉到eclipse - >新建 - >創建新的動態web項目 - >服務器(tomcat或jboss,無論你有)還是2.5模塊web版本。提供項目名稱 - >並完成它 - >從此zip中複製粘貼所有內容並將其粘貼到web-inf文件夾中,並將java類複製到src文件夾中。並運行它 - >它會正常工作。問題是你的web.xml沒有正確構建。 –

2

我發現創建struts 2應用程序的最佳方式是使用struts-blank.jar文件。它具有爲您完成的所有必需配置,並且可以刪除一些示例文件。它將爲您創建所有的jar和xml文件。 如果您仍然有問題,現在嘗試做這個...

1

你做一thing..add 了Javassist-3.11.0.GA.jar file.it將刪除你的錯誤,如

Dispatcher initialization failed java.lang.RuntimeException: 
java.lang.reflect.InvocationTargetException .. 

我希望這將幫助你..

+0

它配備了分配2.3.4.1。 – Prateek

1

首先刪除所有jar(加入所有的lib不是解決方案)

只添加必要的庫

所以問題是你有太多的lib