配置webxml文件
在Struts中struts框架式通過Filter啟動的Filter在webxml中的配置如下
<filter>
<filtername>struts</filtername>
<filterclass>orgapachestrutsdispatcherngfilterStrutsPrepareAndExecuteFilter</filterclass>
</filter>
<! 讓Struts的核心Filter攔截所有請求 >
<filtermapping>
<filtername>struts</filtername>
<urlpattern>/*</urlpattern>
</filtermapping>
在StrutsPrepareAndExecuteFilter的init()方法中將會讀取類路徑下默認的配置文件strutsxml完成初始化操作
注意struts督導strutsxml的內容後以javabean形式存放在內存中以後struts對用戶的每次請求處理將使用內存中的數據而不是每次都讀取strutsxml文件
配置strutsxml文件
<struts>
<constant name=strutsdevMode value=true />
<package name=wbb namespace=/ extends=strutsdefault>
<action name=login class=wbbLoginAction method=execute>
<result name=input>/loginjsp</result>
<result name=success>/page/successjsp</result>
<result name=error>/errorjsp</result>
</action>
</package>
</struts>
struts中用包package來管理Action其中name屬性相當於id是唯一的方便其他包引用namespace屬性可以減少重復的代碼
Action名稱的搜索順序
)獲得請求路徑的URI
)首先尋找namespace為path/path/path的package如果不存在這個package則執行步驟三如果存在這個package則在這個package中尋找名字為test的action擋在該package下尋找不到action時就會直接跑到默認namespace的package裡面去尋找action(默認的命名空間為空字符串)如果在默認namespace的package裡面還尋找不到改action頁面提示找不到action;
)尋找namespace為/path/path的package如果不存在這個package則轉至步驟……
)尋找namespace為/path的package如果不存在這個package則執行步驟五……
)尋找namespace為/的package……
Action配置中的各項默認值
)如果沒有為action指定class默認是ActionSupport
)如果沒有為action指定method默認執行action中的execute()方法
)如果沒有指定result的屬性默認值為success
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28096.html