手把手教你在Eclipse中配置開發Struts(一)
作者:baggio785
日期:2006-3-9
關鍵詞:Eclipse,MyEclipse,Struts,Java
前言
本文根據例項詳細介紹瞭如果在Eclipse中配置並開發Struts。此前在網上也看到過不少此類文章,而且還是有不少網友問此類問題。所以想根據自己的實際經驗,並結合例子寫一篇詳細的文章,一個是方便大家,再一個也是檢驗一下自己的知識。
本文是偶的一些拙見,有不正確的地方請大家多多評論指正。
開發環境
JDK1_4_03,點選下載
tomcat5.0.28,點選下載
Eclipse3.1.2,點選下載;下載中文包,中文包是3.1.1,但是也適用3.1.2
MyEcilpse4.1,點選下載MyEcilpse4.1及破解補丁
TomcatPlugin外掛,點選下載TomcatPlugin外掛
更多Eclipse外掛下載,點選進入
需求
本文所要結合的Struts應用例項為使用者登入(logon),使用者登入(logon)的需求為:
1 接收使用者名稱和密碼,跳轉到成功頁面,並提示“<username>歡迎您登入!”。
2 如果使用者名稱為空就提交表單,則提示“請輸入使用者名稱!”。
3 如果密碼為空就提交表單,則提示“請輸入密碼!”。
4 如果輸入非法使用者名稱,則提示“請輸入正確的使用者名稱!”。
5 通過模型元件,儲存登入資訊。
登入應用例項的框架介紹
使用者登入(logon)應用由以下模組組成:
1 模型(M):模型為一個JAVABEAN元件-SaveLogon,包含username(使用者名稱)和userpassword(密碼)兩個屬性,提供讀取和設定屬性的方法get/set,以及儲存登入資訊的方法saveToDb()。saveToDb的任務是把登入資訊儲存到持久化儲存系統(例如資料庫)。
2 檢視(V):檢視包括兩個JSP檔案,以及一個ActionForm Bean-logonForm。JSP檔案分別為:logon.jsp、success.jsp。logon.jsp負責接受使用者輸入的使用者名稱和密碼以及顯示出錯資訊,success.jsp負責顯示登入成功資訊。
3 控制器(C):控制器為Action類logonAction。對資料進行業務邏輯驗證、呼叫模型元件儲存登入資訊、選擇檢視元件返回給使用者。
Struts的工作機制
使用者在檢視元件(logon.jsp)中輸入使用者名稱和密碼並提交HTML表單,Struts框架會先讀取WEB.XML中關於servlet的配置,然後自動將表單資料封裝到ActionForm Bean中,在本例中是logonForm。logonForm會對提交的資料進行資料合法性驗證(例如最短長度、是否包含非法字元等)。如果ActionForm Bean驗證未通過,則logonForm返回ActionErrors物件,Struts框架會把ActionErrors物件儲存在request範圍內,並把請求轉發到檢視元件,並在檢視元件中通過<html:errors/>標籤,展示request範圍內的ActionErrors物件所包含的錯誤資訊;如果通過ActionForm Bean
部署Struts框架
Struts的工作機制大家都有了一定的瞭解了,現在介紹如何在Eclipse中部署Struts框架。
本文的環境前文已經提到,Eclipse以及其外掛MyEclipse和TomcatPlugin的安裝本文不介紹,請參考其他文章。關於Eclipse的相關文章請看:http://blog.csdn.net/baggio785/category/148174.aspx。
1 新建一個專案
1) 選擇Java >> Tomcat Project,下一步,如圖一
(圖一)
2)填寫專案名稱,如果不採用專案所在目錄的預設值,請修改,點選完成。如圖二
(圖二)
2 建立Struts框架
1) 右鍵選擇專案 >> 新建 >> 其他 >> MyEclipse >> Web-Struts >> Struts 1.2 >> Struts 1.2 Form,Action & JSP。如圖三。如果這一步出現錯誤,本文不做描述,請參考我的另一邊文章-MyEclipse中建立Struts出現錯誤的解決辦法。
(圖三)
2) 配置Struts ActionForm
因為本文的Struts應用例項為使用者登入,所以Use case選用logon。Superclass選擇如圖所示,其他預設。如圖四
(圖四)
接下來填寫Optional Details,輸入Form表單項,本例為使用者名稱(username)和密碼(userpassword)。點選Add,輸入請參考圖五、圖六。
(圖五)
(圖六)
輸後完畢,Optional Details的Form Properties中會顯示。如圖七
(圖七)
Methods選項卡的設定我們採用預設設定,不去修改。
點選JSP選項卡,將“Create JSP form”選項的勾選中,採用預設設定“/form/logon.jsp”。如圖八
(圖八)
3) 配置Struts Action
以上步驟完成了對Form的配置,下面配置Action。
在圖八中點選下一步,採用預設即可。如圖九
(圖九)
Parameter和Methods選項也採用預設。
點選Forwards選項卡,點選Add,配置成功頁面資訊。本文選取根目錄的success.jsp作為成功頁面,Name為logon_sc。如圖十
(圖十)
輸後完畢,Optional Details的Forwards中會顯示。如圖十一
(圖十一)
點選完成。
Struts已經配置完畢。看看Eclipse中,專案中多了一些東東,例如struts相關的jar,以及struts-config.xml和tld檔案。struts-config.xml的程式碼如下:
程式碼清單一(struts-config.xml)
<?xml version="1.0" encoding="UTF-8"?> <struts-config> <data-sources /> <form-beans > <!--這裡是ActionForm的配置資訊,ActionForm Bean的name為logonForm,對應的類為com.mystruts.struts.form.LogonForm--> <form-bean name="logonForm" type="com.mystruts.struts.form.LogonForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <!--這裡是Action元件的配置資訊,描述了從特定的請求路徑到響應的Action的對映--> <!--attribute設定Action關聯的ActionForm在request或者session範圍內的key.就是在request或者session共享內的名稱--> <!--input指定包含表單的URL,當表單驗證失敗的時候傳送的URL--> <!--name指定和該Action關聯的Form名字.該名字必須是在form-bean中定義過的,可寫可不寫--> <!--path指定請求訪問Action的路徑,必須以/開頭--> <!--scope指定Form的存在範圍,例如request--> <!--type指定Action元件對應的類--> <action attribute="logonForm" input="/form/logon.jsp" name="logonForm" path="/logon" scope="request" type="com.mystruts.struts.action.LogonAction"> <!--這裡是forward,即區域性轉發配置資訊,登入成功後轉向/success.jsp,name為logon_sc--> <forward name="logon_sc" path="/success.jsp" /> </action> </action-mappings> <!--這裡是訊息資原始檔的配置資訊,用來配置Resource Bundle.用於存放本地文字訊息檔案。parameter指定檔名,不包含字尾名。--> <message-resources parameter="com.mystruts.struts.ApplicationResources" /> </struts-config> |