系列首篇介紹 Struts 1.x MVC 架構與 Swing GUI 框架基礎,為後續 Spring、Hibernate 解析奠定基礎。
Action 類,封裝業務邏輯。請求經控制器按 struts-config.xml 映射分發至對應 Action;html:, bean:, logic:),快速構建表單與顯示;ActionServlet (Front Controller 模式),接收所有請求,委派給 RequestProcessor 處理流程;
用戶請求 (.do)
│
▼
ActionServlet (web.xml 映射)
│
▼
RequestProcessor
├─ 1. 找 ActionMapping (struts-config.xml)
├─ 2. 創建/復用 ActionForm (自動填充請求參數)
├─ 3. 驗證 ActionForm.validate()
├─ 4. 執行 Action.execute() → 返回 ActionForward
└─ 5. 轉發/重定向至 JSP (視圖)
struts-config.xml<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.app.LoginForm"/>
</form-beans>
<action-mappings>
<action path="/login"
type="com.app.LoginAction"
name="loginForm"
scope="request"
validate="true"
input="/login.jsp">
<forward name="success" path="/welcome.jsp"/>
<forward name="failure" path="/error.jsp"/>
</action>
</action-mappings>
<message-resources parameter="ApplicationResources"/> <!-- 國際化 -->
</struts-config>
JComponent 為根基類,繼承 Container → 所有 Swing 組件均為容器,支援嵌套佈局;JTable、JTree、JComboBox、JTabbedPane、JTable、JEditorPane 等;JButton、JLabel、JTextField 等支援圖標、HTML、ToolTip。public class MyFrame extends JFrame {
private JTable table;
private DefaultTableModel model; // Model
// View: JTable 自動綁定 Model 渲染
// Controller: Listener 處理用戶交互,更新 Model
}
Struts 確立了 Java Web MVC 範式標準;Swing 證明純 Java 可構建企業級桌面應用。兩者共同奠定了「模型-視圖-控制器」在 Java 生態的統治地位。