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

Struts 2 入門:配置流程與 HelloWorld 完整實例

     編輯:Java 綜合教學

Struts 2 入門:配置流程與 HelloWorld 完整實例

Struts 2 基於攔截器機制,以 Filter 為核心控制器。本文記錄從建立專案到運行第一個 Action 的完整步驟。

專案建立與依賴

  1. 建立 Dynamic Web Project,勾選生成 web.xml
  2. 導入 Struts 2 核心 Jar 包 (struts2-core、xwork、ognl、freemarker、commons-lang 等)

web.xml 配置核心 Filter

<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>

註:Struts 2.3+ 使用 StrutsPrepareAndExecuteFilter;2.5+ 為 StrutsPrepareAndExecuteFilter (同名但包路徑不同)。

struts.xml 核心配置檔

位置:src/struts.xml (Classpath 根目錄)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "https://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <package name="default" namespace="/" extends="struts-default">
        <action name="helloworld" class="com.example.HelloWorldAction">
            <result>/result.jsp</result>
        </action>
    </package>
</struts>

Action 類別實作

package com.example;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {
    @Override
    public String execute() throws Exception {
        System.out.println("執行 Action");
        return SUCCESS; // 對應 struts-default 中定義的 "success" 結果
    }
}

視圖頁面 (result.jsp)

<%@ page contentType="text/html;charset=UTF-8" %>
<html><body>
    This is result.jsp!
</body></html>

運行驗證

  1. 啟動 Tomcat
  2. 訪問 https://localhost:8080/專案名/helloworld.action
  3. 控制台輸出「執行 Action」,瀏覽器顯示 result.jsp 內容

目錄結構 運行結果

關鍵點總結

  • Action 類建議繼承 ActionSupport (實作 Action 介面、提供預設 execute()、支援驗證/國際化)
  • 結果類型預設為 dispatcher (轉發),可指定 redirect、chain、stream 等
  • namespace + action name 組成訪問路徑
  • Struts 2 核心:Filter → ActionMapping → ActionProxy → ActionInvocation (攔截器鏈) → Action → Result
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved