重要聲明:此次學習struts2使用的版本爲:struts-2.3.15.3,如果是用的其他版本出現的問題可以聯繫我。
一、
1、首先就是打開myeclipse創建工程名爲:struts001
2、從下載的struts-2.3.15.3包下的lib包中複製6個jar包:
commons-fileupload-1.3.jar作用:文件上傳
commons-io-2.0.1.jar作用:輔助文件上傳
freemarker-2.3.19.jar作用:模板引擎
ognl-3.0.6.jar作用:支持struts2的ognl語言
struts2-core-2.3.15.3.jar作用:struts2核心包
xwork-core-2.3.15.3.jar作用:struts2的內核包
到項目路徑WebRoot下的lib文件下。
3、修改項目下的web.xml添加:
特此說明:以後項目中如果用到複製的東西,儘量去複製,而不要自以爲是的去拼寫,初學者很多時候遇到的問題都是英文單詞拼寫錯誤所致。拼寫需謹慎啊。
<filter>
<filter-name>struts2</filter-name>
<!-- 可在引用的jar包struts2-core-2.3.15.3.jar下的 org.apache.struts2.dispatcher.ng.filter找到-->
<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>
/*:瞭解servlet都知道,這是一種接收請求的形式,此處配置的意思:訪問本項目的所有請求都會交給StrutsPrepareAndExecuteFilter進行處理。也就是struts2進行控制處理。
4、配置struts.xml
路徑:struts-2.3.15.3\apps\struts2-blank\WEB-INF\classes
struts2-blank爲app下的war包,可修改後綴zip然後解壓
然後複製到src下即可。
內容可在我上傳的項目中查看。
5、在src下創建類文件名爲LoginAction,詳情看上傳項目中的文件。
6、在WebRoot根目錄下創建loginUI.jsp和login.jsp,詳情看上傳項目中的文件。
loginUI.jsp中的form中的action要和struts.xml中配置的action中的name一樣。
7、運行項目,測試,
8、出現Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
是因爲缺少javassist-3.11.0.GA.jar,可在app下解壓的war包中找到。本來javassist-3.11.0.GA.jar是屬於ognl.jar但是後來被剝離了,所以要單獨添加。
9、出現:Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
是因爲缺少commons-lang3-3.1.jar同上去找
10、我使用的tomcat5所以導致jsp中el表達式失效,在頁面頂部添加:
<%@ page isELIgnored="false" %>即可,tomcat5以上不用配置.
12、至此項目正常運行。
二、只要按着這幾步配置下來基本struts就能配成功。
三、經驗之談:
1、項目中文件和類名以及其他命名時,最好使用英文,不會的可以去有道翻譯。
2、能複製的東西,最好不要去自己拼寫,如果非要拼寫那麼就多檢查幾遍,初學者在寫程序時出現錯誤首先就應該查看拼寫的地方。
3、Src下的action類最好以Action結尾
4、項目中遇到bug,千萬不要着急,要從頭分析項目,一條一條代碼的捋。終會找到 問題的所在。
關於struts2的配置本來是不計劃着講的,但畢竟是初次這樣寫文,並沒有思路。通過這篇配置的講解,發現通過項目講解知識點也是種不錯的模式。所以在以後的struts2學習中會按照這種方式講解,期間我會加入容易出錯的地方的講解以及個人分析問題和解決問題的經驗。如果大家有遇到解決不了的問題可以和我聯繫,一塊解決。
四、參考案例項目:http://download.csdn.net/detail/u011638419/8169915
每日一樂:
諸葛亮指揮作戰,每次都單獨乘坐一輛戰車跟隨大軍。
有一次打仗,剛一開戰,亮就駕車帶頭衝向敵方
軍隊一下士氣大振,緊隨其後,大破敵軍。戰後
衆人都贊:“軍師神勇!”
亮道:“嚓,坡太斜,沒剎住車……”
最終解釋權歸愛尚合夥人所有,轉載請註明出處。