Posted on 2006-07-25 00:17
大大毛 閱讀(286)
評論(0) 編輯 收藏 所屬分類:
Struts
3.Struts的分析與設計
???應用:
??????電子通訊薄addressbook
???這一章的重點在于引導進入Struts應用的 分析與設計, 要體現軟件開發流程
分析需求:
???該應用實現一個較簡單的通訊簿
??????.登錄
??????.添加好友聯系方式
??????.查詢
??????.根據要求查詢
??????.顯示全部信息
??????.注銷
???在分析中可以發現,登錄是整個應用的入口,其它的模塊都依賴于此,因此貫穿整個應用應該有一個已登錄檢查的要求
數據庫設計:
???根據需求,需要兩張表:
???1.address
??????該應用的主體數據表,里邊存放應用中所需的聯系方式信息
??????ID(int,key) 記錄ID,僅作主鍵使用
??????name(varchar,not null) 聯系人的姓名
??????telephone(varchar)聯系人的電話
??????address(varchar)聯系人的地址
???2.userInfo
??????該表保存登錄用戶信息,用于登錄檢驗
??????例程中改用XML數據文件的方式加以替代
用戶界面設計:
???對應于需求可設計:
??????登錄界面
??????菜單界面
??????添加界面
?????????數據的更改是一項權重的動作,因此提供一個添加結果界面
??????查詢條件界面
??????查詢結果界面
??????對于注銷需求,其對應于一個簡單動作,可以不提供界面
詳細設計:
???登錄
??????數據項userName,password
??????視圖(login.jsp)
?????????userName,password的輸入;
?????????userName不能為空;
??????控制器
?????????成功:
????????????將userName存入session, forward到menu.jsp
?????????失敗:
????????????login.jsp
??????模型
?????????連接數據源(此處是XML數據文件);
?????????數據的邏輯有效性檢查(userName,password必須完全一致)
???添加
??????數據項name,telephone,address
??????視圖(insert.jsp)
?????????name,telephone,address的輸入;
?????????name,telephone不能為空;
??????控制器
?????????成功:
????????????insertOk.jsp
?????????失敗:
????????????insert.jsp
??????模型
?????????insert條目
???查詢
??????數據項name,telephone,address
??????視圖(search.jsp)
?????????name,telephone,address的輸入;
?????????name,telephone,address不能同時為空;
??????控制器
?????????display.jsp
??????模型
?????????select條目
???注銷
??????控制器
?????????login.jsp
??????模型
?????????銷毀session中的userName
???登錄檢查
??????由于需要在JSP頁面被載入前調用, 以標簽提供
??????檢查session("userName")對象是否為空,否則forward到login.jsp