關於Struts 2的正確配置

原文http://blog.sina.com.cn/s/blog_6095cf300100ms69.html

前些天剛好開始Struts的學習,但是在配置Struts 2的時候就遇到了很大的障礙,我使用的Struts 2版本是2.2.1(即Struts 2.2.1),我參考了《精通J2EE(第二版)裏的有關Struts 2的配置內容,該書使用的是Struts 2.0.9)。我首先從Struts 2.2.1lib文件下複製了“freemarker-2.3.16.jarognl-3.0.jarstruts2-core-2.2.1.jarxwork-core-2.2.1.jar”,然後粘貼在了項目的lib文件下,也可以通過“Add External JARs”的形式導入,但是如上所作後,在啓動Tomcat時出現瞭如下的錯誤:

警告: Could not create JarEntryRevision for [jar:file:/E:/Programming/apache-tomcat-6.0.26/webapps/Struts2/WEB-INF/lib/struts2-core-2.2.1.jar]

...

2010-9-24 11:16:02 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info

信息: Parsing configuration file [struts-default.xml]

2010-9-24 11:16:02 com.opensymphony.xwork2.util.logging.jdk.JdkLogger error

嚴重: Dispatcher initialization failed

Unable to load configuration. - bean - jar:file:/E:/Programming/apache-tomcat-6.0.26/webapps/Struts2/WEB-INF/lib/struts2-core-2.2.1.jar!/struts-default.xml:48:178

    ...

Caused by: Unable to load bean: type:org.apache.struts2.dispatcher.multipart.MultiPartRequest class:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest - bean - jar:file:/E:/Programming/apache-tomcat-6.0.26/webapps/Struts2/WEB-INF/lib/struts2-core-2.2.1.jar!/struts-default.xml:48:178

    ...

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/RequestContext

    ...

2010-9-24 11:16:02 org.apache.catalina.core.StandardContext filterStart

嚴重: Exception starting filter struts2

Unable to load configuration. - bean - jar:file:/E:/Programming/apache-tomcat-6.0.26/webapps/Struts2/WEB-INF/lib/struts2-core-2.2.1.jar!/struts-default.xml:48:178

    ...

Caused by: Unable to load configuration. - bean - jar:file:/E:/Programming/apache-tomcat-6.0.26/webapps/Struts2/WEB-INF/lib/struts2-core-2.2.1.jar!/struts-default.xml:48:178

    ... 

Caused by: Unable to load bean: type:org.apache.struts2.dispatcher.multipart.MultiPartRequest class:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest - bean - jar:file:/E:/Programming/apache-tomcat-6.0.26/webapps/Struts2/WEB-INF/lib/struts2-core-2.2.1.jar!/struts-default.xml:48:178

    ... 

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/RequestContext

    ...

Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.RequestContext

    ...

2010-9-24 11:16:02 org.apache.catalina.core.StandardContext start

嚴重: Error filterStart

2010-9-24 11:16:02 org.apache.catalina.core.StandardContext start

嚴重: Context [/Struts2] startup failed due to previous errors

 

這些錯誤很讓我摸不着頭腦,經多方查閱資料後,在Struts 2.2.x中應該導入如下7JAR文件

1)   commons-fileupload-1.2.1.jar

2)   commons-io-1.3.2.jar

3)   freemarker-2.3.16.jar

4)   javassist-3.7.ga.jar

5)   ognl-3.0.jar

6)   struts2-core-2.2.1.jar

7)   xwork-core-2.2.1.jar

 

其實,這裏還有一個小竅門,我們可以將Struts 2.2.x根目錄下的apps文件夾下的struts2-blank-2.2.1.war文件進行解壓,然後找到WEB-INF下的lib目錄,我們可以發現裏面列出了7JAR文件,剛好這7個就是我們配置Struts 2.2.x需要導入的JARs文件:


關於Struts <wbr>2的正確配置

 

 

 

現在服務器應該就可以正常啓動了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章