| 階段 | 特點 | 缺點 |
|---|---|---|
| JSP Model 1 | JavaBean + <jsp:useBean> | Java 代碼混雜 HTML,難維護 |
| Model 2 (MVC 變體) | Servlet 控制器 + JSP 視圖 | 事件模型過簡單,開發者負擔重 |
| Struts | Action 替代 Servlet,ActionForm 承載資料 | 程序化感強,行為與狀態分離不徹底 |
| WebWork / Spring MVC | 更 OO,改進 Struts | 缺乏標準組件模型 |
| JSF | 組件模型 + 豐富事件 + 狀態管理 | 學習曲線較陡 |
UIViewRoot),Composite 模式管理,JSP/Facelets 綁定組件FacesServlet 統一入口,生命週期自動處理轉換、驗證、事件分派JSF 提供細粒度事件(ValueChangeEvent、ActionEvent、階段事件),而非單一「請求接收」。開發者專注業務邏輯,而非請求參數解析。
calculator.jsp(輸入)、results.jsp(輸出)CalculatorController(受管 Bean)Calculator 類別(純業務邏輯:加減乘除)