專案背景
一個月時間完成某管理系統開發,從環境建置、業務熟悉到功能上線,完整經歷 Struts 專案標準開發流程。
分層開發流程
- Value Object (VO):對應資料表,僅含屬性與 Getter/Setter。注意:資料庫
DATE 型別映射為 java.util.Date 或 java.sql.Date 易產生轉換問題。
- Data Access Object (DAO):封裝 CRUD 操作。採用 Singleton 模式 確保線程安全,繼承
BasicDAO 提供通用查詢介面。
- Business Object (BO):封裝 DAO,提供業務邏輯介面給 Action 呼叫。若業務單純(僅增刪改),BO 層較薄。
- JUnit 測試:每層編寫測試案例(繼承
TestCase,實作 setUp/tearDown/testXXX),確保邏輯正確性。
- View 層 (JSP + ActionForm + Action):JBuilder 可由 JSP 自動生成 ActionForm、Action 骨架,大幅提升效率。
關鍵技術點總結
| 項目 | 重點 |
| Struts-config.xml | ActionMapping、FormBean、Forward、PlugIn 配置 |
| 國際化 | ApplicationResources.properties 多語系訊息管理 |
| 驗證框架 | Validator 表單驗證規則宣告式配置 |
| Tiles | 頁面佈局複用,減少重複 JSP 碼 |
| 例外處理 | 全域例外映射至友善錯誤頁 |
避坑指南
- VO vs ActionForm:結構相似但層級不同,VO 為持久層,Form 為表現層,避免混用
- DAO 線程安全:必須用 Singleton 或 Spring 管理 Bean 作用域
- 日期型別:統一在 VO 使用
java.util.Date,DAO 層轉換為 java.sql.Date
- 測試優先:先寫測試案例再實作,確保各層可獨立驗證
工具效率提升
JBuilder 整合 Struts 開發:
- 圖形化配置
struts-config.xml
- JSP → ActionForm → Action 自動生成
- 內建除錯、重構支援