首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

Java EE 四大常用框架深度解析(一):Struts MVC 架構與 Swing GUI 基礎

     編輯:J2EE

系列首篇介紹 Struts 1.x MVC 架構與 Swing GUI 框架基礎,為後續 Spring、Hibernate 解析奠定基礎。

Struts 1.x:基於 Servlet/JSP 的經典 MVC 框架

四大核心組件

  1. 模型:本質為 Action 類,封裝業務邏輯。請求經控制器按 struts-config.xml 映射分發至對應 Action;
  2. 視圖:JSP + Struts 標籤庫 (html:, bean:, logic:),快速構建表單與顯示;
  3. 控制器:ActionServlet (Front Controller 模式),接收所有請求,委派給 RequestProcessor 處理流程;
  4. 工具包:XML 解析 (Digester) — 自動填充 JavaBean 屬性、支援國際化資源束 (多語言)。

請求處理流程

用戶請求 (.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>

Swing:Java 桌面開發的第二代 GUI 工具箱

從 AWT 到 Swing 的演進

  • AWT:調用平台原生組件 (Peer-based) → 各平台外觀行為不一,功能受限;
  • Swing (JFC 核心):純 Java 實現輕量級組件 (Lightweight) → 跨平台一致、功能豐富、可插拔外觀 (Pluggable Look & Feel);
  • JComponent 為根基類,繼承 Container → 所有 Swing 組件均為容器,支援嵌套佈局;
  • 採用 MVC 設計模式:模型 (數據/狀態) — 視圖 (渲染) — 控制器 (事件處理) 分離。

核心組件庫 (較 AWT 大幅擴充)

  • JTable、JTree、JComboBox、JTabbedPane、JTable、JEditorPane 等;
  • 增強 AWT 組件: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 生態的統治地位。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved