SSH學習(二)Struts2核心配置

原文來自搬磚工,如需轉載請註明出處


上一篇文章學習了Struts2入門,這篇文章學習Struts2的核心配置

一、struts-default.xml分析

1.struts-default.xml位於struts2-core-2.3.31.jar文件下,一般來說都是struts2-core-版本.jar。不同的版本有不同的包名

2.struts-default.xml是struts的默認配置,取了其中一些示例,如下:

<struts>
	<bean class="com.opensymphony.xwork2.ObjectFactory" name="struts"/>
    	<bean type="com.opensymphony.xwork2.factory.ResultFactory" name="struts" class="org.apache.struts2.factory.StrutsResultFactory" />
	<package name="struts-default" abstract="true">
		<result-types>
            		<result-type name="postback" class="org.apache.struts2.dispatcher.PostbackResult" />
       		</result-types>
	
		<interceptors>
			<interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/>
		</interceptors>
		<interceptor-stack name="basicStack">
			<interceptor-ref name="deprecation"/>
		</interceptor-stack>
	</package>
</struts>

1)bean的配置:通過bean的配置實現struts2組件的依賴注入(DI)

2)package的配置:

   a.result的配置:Struts2提供了豐富的result類型,包括jsp、一些模板引擎(freemaker)、velocity以及plaintext

   b.intercept的配置:攔截器是Struts2的核心,幾乎大部分的Struts2的實現都是通過攔截器實現的

二、包配置

<package name="example" namespace="/" extends="struts-default"> 
	<action name="login" class="com.study.action.LoginAction">
		<result name="success">/Success.jsp</result>
		<result name="input">/login.jsp</result>
	</action>
</package>

1.Struts2包的作用

Struts2框架的核心組件是Action和攔截器,Struts2使用包來管理Action和攔截器。包裏面的內容是Action、攔截器和攔截器的引用。配置文件中可以定義多個包。

2.包的屬性

1)name:包的名稱,其他包可以通過該名稱引用該包。(必填

2)extends:表明該包繼承其他包,該包繼承其他包的action以及攔截器

3)namespace:命名空間,區別同一個包重名的action。如:/admin、/user,它們都有同樣的action—login

4)abstract:是否是抽象包,抽象包不能有action的定義

三、bean的配置

<bean class="" name="" scope="" type=""></bean>
bean的常見參數:

   1.class:bean實例的實現類

   2.type:Struts2定義的規範接口

   3.name:bean實例的名稱

   4.scope:bean的作用域

:其它參數可參考Struts2的詳細介紹

四、常量配置

1.可配置Struts常量的地方:1)struts.xml *常用 2)struts.properties 3)web.xml

2.struts.xml中配置常量:

<constant name="struts.action.extension" value="do"></constant>

3.struts.properties中配置常量

struts.action.extension=do

4.web.xml配置常量

<filter>
	<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	<init-param>
		<param-name>struts.action.extension</param-name>
		<param-value>do</param-value>
	</init-param>
</filter>
五、包含配置

<include file="xxx.xml"></include>
包含配置就是引用xxx.xml中的配置,這樣可以把項目分爲模塊來開發。例如

<struts>
	<include file="part1.xml"></include>
	<include file="part2.xml"></include>
	<include file="part3.xml"></include>
</struts> 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章