struts.xml 属性介绍
生活随笔
收集整理的這篇文章主要介紹了
struts.xml 属性介绍
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、Struts2配置文件
Struts2相關(guān)的配置文件有web.xml,struts.xml,struts.properties,
struts-default.xml,velocity.properties,struts-default.vm。其中web.xml,struts.xml是必須的,其它的配置文件可選擇。它們在web應(yīng)用中的功能如下:
web.xml:包含所有必須的框架組件的web部署描述符。
Struts.xml:配置包含result/view類型、action映射、攔截器等的Struts2的主要配置文件。
Struts.properties:配置struts2的框架屬性。
Struts-default.xml:在文件在struts-action-x.x.jar中,該文件是應(yīng)該被包含在struts.xml中的缺省配置。
Welocity.properties:重寫了velocity的配置文件。
Struts-default.vm:相對于velocity的缺省配置。
二、Struts2配置元素
Struts2核心的配置文件是缺省的struts.xml。
必 要的時候,缺省的配置文件可以包含其它的配置文件;struts文件可以放入jar中,并自動插入應(yīng)用程序,這樣每個模塊可以包含自己的配置文件并自動配 置。在Freemarker和Velocity模塊中,模板也能從classpath中加載,所以整個模塊可以作為一個簡單的jar文件被包含。
Struts.xml配置文件可以包含Interceptor、Action類和Results。
Struts.xml配置元素說明:
1、Packages
Packages:packages把actions、results、results types、interceptors
和interceptor-stacks組裝到一個邏輯單元中,從概念上講,packages就像一個對象,可以被其它子包從寫,而且可以擁有自己獨立的部分。
Name屬性是packages的必填元素,它作為一個關(guān)鍵字被后邊的包引用;extends元素是可選的,它允許包擴展一個和多個前邊定義的包。注意,
struts.xml文件是至上而下處理的,所有被擴展的包,需要在擴展包前定義。
Abstract元素是可選的,它可以申明一個不包含actions的配置文件。
2、Namespace
Namespace元素把actions細分到邏輯模塊,每一個namespace都有自己的
前綴(prefix),namespace避免了action之間的名字沖突,當(dāng)前綴出現(xiàn)在URI中時,這些標簽都是名字空間感知的(“namespace aware”),所以這些namespace prefix不必嵌入到表單或連接中。
Default 的namespace是一個空字符串“”,如果在指定的配置文件中,沒有找到action,缺省的namespace也會被查找。 Local/global策略允許應(yīng)用程序在action “extends”元素層次結(jié)構(gòu)之外,有全局的action配置。缺省的namespace也可以不在package中申明。
Namespace prefix可以注冊為java的申明式安全,以確保授權(quán)的用戶才能訪問namespace的資源。
Root namespace(“/”)也被支持,root就是當(dāng)直接請求context path的時候的namespace。
[個人理解:namespace的用法就像struts1.x中的path一樣,只不過它在package中什么路徑,而在action中申明action名子罷了]
3、Include
Include元素使得框架能應(yīng)用“divide and conquer”來配置文件。被include
的每個配置文件必須和struts.xml有一樣的格式,一個大的項目可以采用這樣方式來組織程序模塊。
Include元素也可以和package交替出現(xiàn),框架將按照順序加載配置文件。
4、Interceptor configuration
Interceptor允許應(yīng)用程序在Action方法執(zhí)行前后定義執(zhí)行代碼,
Interceptor在應(yīng)用程序開發(fā)中十分重要,對于Interceptor有許多用例,如validation, property population, security, logging, 和profiling。
Interceptor被定義為一個Java類,Interceptor也可以組裝成Interceptor-stack,他們將按照定義的順序執(zhí)行。
在struts-default.xml中定義了一些缺省的Interceptor-stack,以便框架能很好地運行。
5、Action
Action是框架的“工作單元”。Action可以指定一個Interceptor-stack、
Struts2相關(guān)的配置文件有web.xml,struts.xml,struts.properties,
struts-default.xml,velocity.properties,struts-default.vm。其中web.xml,struts.xml是必須的,其它的配置文件可選擇。它們在web應(yīng)用中的功能如下:
web.xml:包含所有必須的框架組件的web部署描述符。
Struts.xml:配置包含result/view類型、action映射、攔截器等的Struts2的主要配置文件。
Struts.properties:配置struts2的框架屬性。
Struts-default.xml:在文件在struts-action-x.x.jar中,該文件是應(yīng)該被包含在struts.xml中的缺省配置。
Welocity.properties:重寫了velocity的配置文件。
Struts-default.vm:相對于velocity的缺省配置。
二、Struts2配置元素
Struts2核心的配置文件是缺省的struts.xml。
必 要的時候,缺省的配置文件可以包含其它的配置文件;struts文件可以放入jar中,并自動插入應(yīng)用程序,這樣每個模塊可以包含自己的配置文件并自動配 置。在Freemarker和Velocity模塊中,模板也能從classpath中加載,所以整個模塊可以作為一個簡單的jar文件被包含。
Struts.xml配置文件可以包含Interceptor、Action類和Results。
Struts.xml配置元素說明:
1、Packages
Packages:packages把actions、results、results types、interceptors
和interceptor-stacks組裝到一個邏輯單元中,從概念上講,packages就像一個對象,可以被其它子包從寫,而且可以擁有自己獨立的部分。
Name屬性是packages的必填元素,它作為一個關(guān)鍵字被后邊的包引用;extends元素是可選的,它允許包擴展一個和多個前邊定義的包。注意,
struts.xml文件是至上而下處理的,所有被擴展的包,需要在擴展包前定義。
Abstract元素是可選的,它可以申明一個不包含actions的配置文件。
2、Namespace
Namespace元素把actions細分到邏輯模塊,每一個namespace都有自己的
前綴(prefix),namespace避免了action之間的名字沖突,當(dāng)前綴出現(xiàn)在URI中時,這些標簽都是名字空間感知的(“namespace aware”),所以這些namespace prefix不必嵌入到表單或連接中。
Default 的namespace是一個空字符串“”,如果在指定的配置文件中,沒有找到action,缺省的namespace也會被查找。 Local/global策略允許應(yīng)用程序在action “extends”元素層次結(jié)構(gòu)之外,有全局的action配置。缺省的namespace也可以不在package中申明。
Namespace prefix可以注冊為java的申明式安全,以確保授權(quán)的用戶才能訪問namespace的資源。
Root namespace(“/”)也被支持,root就是當(dāng)直接請求context path的時候的namespace。
[個人理解:namespace的用法就像struts1.x中的path一樣,只不過它在package中什么路徑,而在action中申明action名子罷了]
3、Include
Include元素使得框架能應(yīng)用“divide and conquer”來配置文件。被include
的每個配置文件必須和struts.xml有一樣的格式,一個大的項目可以采用這樣方式來組織程序模塊。
Include元素也可以和package交替出現(xiàn),框架將按照順序加載配置文件。
4、Interceptor configuration
Interceptor允許應(yīng)用程序在Action方法執(zhí)行前后定義執(zhí)行代碼,
Interceptor在應(yīng)用程序開發(fā)中十分重要,對于Interceptor有許多用例,如validation, property population, security, logging, 和profiling。
Interceptor被定義為一個Java類,Interceptor也可以組裝成Interceptor-stack,他們將按照定義的順序執(zhí)行。
在struts-default.xml中定義了一些缺省的Interceptor-stack,以便框架能很好地運行。
5、Action
Action是框架的“工作單元”。Action可以指定一個Interceptor-stack、
一序列的return type和一序列的異常處理,但只有name屬性是必須的。
轉(zhuǎn)自:星星的愿望
轉(zhuǎn)載于:https://www.cnblogs.com/javaspring/archive/2012/06/12/2656123.html
總結(jié)
以上是生活随笔為你收集整理的struts.xml 属性介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 西游记泥潭指南
- 下一篇: php 重定向到https,php -