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

SSH 整合之 Struts2 核心配置與流程詳解

     編輯:Java 綜合教學

Struts2 在 SSH 中的核心配置流程

Struts2 本質是一個 Servlet 濾波器,攔截所有請求並委派給 Action 處理。本文梳理請求流程、核心配置文件與分包約定。

一、請求處理全流程

  1. 用戶發起請求 → Web 容器。
  2. web.xml 配置的 StrutsPrepareAndExecuteFilter 攔截。
  3. Struts2 解析請求路徑,匹配 struts.xml 中 <action> 的 name。
  4. 實例化 class 指定的 Action 類,調用 method 指定方法(默認 execute)。
  5. 方法返回結果字符串,Struts2 按 <result> 的 name 匹配視圖路徑並轉發。

流程圖 配置示例

二、核心配置步驟

1. 導入 Jar 包

從官網下載 struts-2.3.30,取 lib/ 下核心 jar(commons-fileupload、commons-io、ognl、freemarker 等)。
Struts2 Jar

2. web.xml 註冊過濾器

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

web.xml

3. struts.xml 配置

  • 放在 src 根目錄。
  • 聲明 DTD:<!DOCTYPE struts PUBLIC ...>。
    DTD聲明
  • 定義 <package> 繼承 struts-default,配置 <action> 的 name、class、method 及 <result>。
    struts.xml示例

4. Action 處理類

  • 繼承 ActionSupport。
  • 屬性自動接收請求參數(需提供 getter/setter)。
  • 方法返回 String,對應 <result> 的 name。

三、分包約定

包名職責
action頁面跳轉、參數接收
service業務邏輯處理
dao數據庫 CRUD
entity實體類
util工具類(如 DB 連接)

四、小結

Struts2 實現了參數自動注入、結果視圖解耦、類型轉換等核心功能,是 SSH 表示層的關鍵組件。

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