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

Struts 2 學習筆記(三):配置檔案結構與插件機制——struts.xml 拆分、Servlet 容器相容性、插件自動載入、屬性管理雙模式

     編輯:Java 相關知識

掌握 Struts 2 配置檔案架構:struts.xml 模組化拆分、Servlet 2.3/2.4 容器相容性實測、插件 Jar 自動載入機制、屬性配置雙模式(struts.properties vs struts.xml constant)、熱重載關鍵開關。

WebWork 遺產與對應關係

  • 核心控制器:ServletDispatcher,映射 *.action
  • 配置檔對應:xwork.xml ↔ struts.xml、webwork.properties ↔ struts.properties,內容幾乎相同,僅關鍵字差異

struts.xml 關鍵映射

  • <action name="..."> 相當於 Struts 1 <action path="...">,**不需以 / 開頭**

業務元件整合:工廠或 IOC

Action 使用業務邏輯元件通常不直接 new,透過工廠方法或 IOC 容器。WebWork 有內建 IOC,但 Struts 2 慣用 Spring IOC。

struts.xml 模組化拆分

可拆分為多檔:struts-part1.xml、struts-part2.xml...,主檔 <include file="struts-part1.xml"/> 引入。參考 struts2-core.jar 內 struts-default.xml 內建大量預設配置。

Servlet 容器相容性實測

官方要求 Servlet 2.4/JSP 2.0 容器。實測簡單範例(web-app_2_3.dtd)在 Tomcat 4.1.30(Servlet 2.3/JSP 1.2)可正常運行,潛在問題未知。

插件機制:可插拔架構

struts2-xxx-plugin.jar 內含 struts-plugin.xml(即 struts.xml 格式)。放入 WEB-INF/lib 自動載入。struts.properties 中 struts.configuration.files=struts-default.xml,struts-plugin.xml,struts.xml 定義載入順序。可自製插件 Jar。

關鍵屬性清單(struts.properties)

  • struts.action.extension
  • struts.serve.static.browserCache
  • struts.enable.SlashesInActionNames
  • struts.devMode
  • struts.i18n.reload
  • struts.configuration.xml.reload
  • struts.custom.i18n.resources
  • struts.i18n.encoding

多值支援逗號分隔。預設值在 default.properties。

Action 副檔名自訂

預設 *.action。修改 struts.action.extension=unmi,action → *.unmi 和 *.action 皆由 Struts 2 處理。

開發期熱重載:不重啟應用

  • 修改 struts.xml 自動生效
  • 修改國際化資源檔:設定 struts.i18n.reload=true 即可熱重載

屬性管理雙模式

  • struts.properties 檔案
  • struts.xml 中 <constant name="struts.i18n.reload" value="true"/>

大多數開發者傾向 struts.properties。

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