--題外話--
今日分享兩個小問題的解決方法:
1.在idea中搭建struts2環(huán)境問題
在使用idea進行struts2的搭建中在新建Project過程中左側(cè)選擇 Java Enterprise欄瓢阴,不能選擇Java欄,因為是JavaEE項目所以很多人使用Java欄中看見了Struts2選項時會直接選擇搬泥,這樣就會tomcat無法啟動残制,變成橙色圖標椭微,并且會報錯并且提示web服務(wù)器問題錯誤
2. 搭建好環(huán)境后運行tomcat成功阐枣,但在瀏覽器中打開網(wǎng)頁時報錯500甫贯,提示struts2中有非法字符":"
這是因為jdk版本導(dǎo)致的吼鳞,將原來版本卸載并且換一個版本即可,一般老版本不容易出錯叫搁,新版本有時候還在測試階段赔桌,當然不要太老不支持就好。
--內(nèi)容部分--
1.Struts2.xml配置介紹
package: 包. struts2 使用package 來組織模塊
name屬性:用于其他的包需要應(yīng)用當前包
extends:繼承渴逻,通常繼承struts-default
namespace:可選疾党,沒有給出則用/為默認值
name:對應(yīng)一個Struts2請求的名字
method:默認值excute
result: 結(jié)果. 表示action 方法執(zhí)行后可能返回的一個結(jié)果. 所以一個action 節(jié)點可能會有多個result 子節(jié)點.多個result 子節(jié)點使用name 來區(qū)分
name: 標識一個result. 和action 方法的返回值對應(yīng). 默認值為success
type: 表示結(jié)果的類型. 默認值為dispatcher(轉(zhuǎn)發(fā)到結(jié)果.)
2.web.xml
注意事項:當你在web.xml配置多個過濾器的時候,一定要把struts2的過濾器放到最后惨奕,這樣可以防止過濾器鏈被中斷雪位,導(dǎo)致你配置的其他過濾器不起作用
3. 攔截器棧
interceptor-stack:通過攔截器棧來進行多個action對多個攔截器的使用進行管理
<interceptor-stack name="myStack">
<interceptor-ref name="alias"/>
<interceptor-ref name="autowiring"/>
</interceptor-stack>