開發環境:jdk1.6 + tomcat6.0.14 + Myeclipse6.0 + Struts2.0.14 + commons-fileupload-1.2.1 + commons-io-1.4
學習教程:風中葉 浪曦_Struts2應用開發系列
小項目需求分析或實現的功能:
(1).用戶只有輸入正確的邀請碼之后才能進行注冊,否則填寫注冊信息之后提交沒有反應,還會停留在注冊頁面。
(2).用戶注冊之后可以上傳文件,也可以下載其中的文件。
分析:struts2并沒有實現文件的上傳和下載,我們需要到apache網站去下載commons-fileupload-1.2.1 和 commons-io-1.4 ,并把其中的核心jar包導入到工程。我們可以使用攔截器來實現功能(1)。
具體步驟:
1.新建web項目 命名為struts2demo

2.向工程中導入所需要的jar包 必要的jar包有七個

3.在web.xml文件中注冊struts2



















4.編寫輸入邀請碼的JSP頁面invite.jsp

















5.在Tomcat的server.xml中加入工程

6.啟動Tomcat服務器 測試當前所做是否有錯誤

以上表明當前設置沒有錯誤!
7.在src下新建com.demo.action包,并在其中新建InviteAction類,此類要繼承ActionSupport類






























類中規定只有輸入的驗證碼為220081078,才能進入到注冊頁面,否則會出現錯誤的提示信息并回到原頁面繼續輸入。
8.在src下新建struts.xml文件,在struts.xml文件中對InviteAction進行注冊

















9.新建register.jsp頁面,并加入如下代碼




































































10.對以上所做工作進行測試
如果輸入錯誤的邀請碼 如2200810888 則顯示結果如下

如果輸入正確的邀請碼 如220081078 則轉入到注冊頁面 測試成功!

11.在action包中創建RegisterAction類 并編寫如下代碼














































































12.在struts.xml文件中對RegisterAction進行注冊 在package下加入如下代碼




13.編寫registersuccess.jsp頁面



















14.對上述工作進行測試
如果進行不合法的注冊 如沒有填入必填項或者輸入長度不合法 會出現相關錯誤提示信息

如果輸入合法注冊信息,將轉到注冊成功頁面。


15.編寫文件上傳頁面upload.jsp代碼

























































16.編寫UploadAction類代碼 將文件上傳到upload文件夾















































































17.在struts.xml文件中對UploadAction進行注冊









18.對上傳文件是的錯誤信息進行改進,系統提供的錯誤信息(如文件大小或類型不合法)可讀性很差。
在struts.xml中加入如下語句



在src目錄下新建文件message.properties ,文件內容為



19.編寫download.jsp頁面
















20.編寫DownloadAction類代碼 假設我們要下載的是upload文件夾下的Struts2.ppt文件

























21.在struts.xml文件中對DownloadAction進行注冊 要注意其中的參數名稱







22.對以上步驟進行測試
上傳文件類型不合法
上傳合法內容,如我們上傳三個ppt文件 則能成功


點擊到下載頁面下載文件

23.實現邀請碼功能 以上并沒有實現邀請碼的功能,即用戶可以直接進入到注冊頁面進行注冊。我們需要編寫一個攔截器實現該功能。
(1)編寫InviteInterceptor攔截器代碼






















(2)改寫InviteAction的execute()方法 加入如下語句

(3)在struts.xml中注冊攔截器 并在register的action中加入攔截器
最終struts.xml的代碼





















































24.最后的測試
如果沒有進行邀請碼的驗證 直接進入到注冊頁面進行注冊 將不成功。達到項目需求。
總結:這是最近三天學習的結果,很喜歡風中葉老師的講解。他沒有給我們代碼,卻每一步都講得很仔細,還帶著我們一步步地看相關的幫助文檔,會繼續支持風中葉老師的!開發還是要自己多看看各種文檔,這樣才能學習到正宗的知識!
由于隨筆附件大小有限制 上傳的代碼中刪除了struts2的5個jar包 可自行加入
本隨筆代碼 代碼