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

從零構建 Web 應用:Struts 配置文件完整實例解析

     編輯:Java 相關知識

本文以一個最小化的 HelloApp 為例,完整展示 web.xml 與 struts-config.xml 的標準配置,並逐項解析關鍵元素含義,適合初學者快速掌握 Struts 1.x 應用骨架。

一、web.xml:Web 應用部署描述符

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"https://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
  <display-name>HelloApp Struts Application</display-name>

  <!-- ActionServlet 核心控制器 -->
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>hello.jsp</welcome-file>
  </welcome-file-list>

  <!-- Struts 標籤庫聲明 -->
  <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
</web-app>

關鍵點

  • config 參數指定 Struts 核心配置文件路徑;
  • load-on-startup 確保啟動時初始化;
  • 三大標籤庫分別對應 Bean 操作、HTML 表單生成、邏輯控制。

二、struts-config.xml:Struts 核心配置

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"https://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
  <form-beans>
    <form-bean name="HelloForm" type="hello.HelloForm"/>
  </form-beans>

  <action-mappings>
    <action path="/HelloWorld"
            type="hello.HelloAction"
            name="HelloForm"
            scope="request"
            validate="true"
            input="/hello.jsp">
      <forward name="SayHello" path="/hello.jsp"/>
    </action>
  </action-mappings>

  <message-resources parameter="hello.application"/>
</struts-config>

核心元素解析

元素/屬性說明
<form-bean>定義 ActionForm Bean,name 為邏輯名,type 為全限定類名
<action> path請求路徑,對應 URL 中 *.do 前綴部分
typeAction 實作類全限定名
name關聯的 Form Bean 名稱
scopeForm Bean 作用域:request 或 session
validatetrue 觸發 validate(),失敗則轉向 input 指定頁面
<forward>邏輯視圖名稱與實際 JSP 路徑映射,供 mapping.findForward() 使用
<message-resources>國際化資源包,parameter 對應 WEB-INF/classes/hello/application.properties

三、運行流程總結

  1. 用戶訪問 hello.jsp(歡迎頁);
  2. 提交表單至 /HelloWorld.do;
  3. ActionServlet 接收,RequestProcessor 填充 HelloForm,驗證通過後實例化 HelloAction;
  4. HelloAction.execute() 處理業務,返回 mapping.findForward("SayHello");
  5. 轉向 hello.jsp 顯示結果。

掌握這兩個配置文件,即掌握了 Struts 1.x 應用的骨架與血脈。

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