Struts2 配置詳解
1.Struts2登錄執行過程
頁面發送請求->核心控制器(StrutsPrepareAndEecuteFileter)
->Action->Result->返回頁面
2.配置web.xml
<filter>
<filter-name>struts</filter-name>
<filter-class>
org.apache.struts.dispatcher.ng.filter.StrutsPrepareAndEecuteFileter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.Struts控制器
- 兩部分組成:核心控制器(Filter):用於攔截用戶請求,對請求進行處理
- 業務控制器(Action):調用相應的Model類實現業務處理,返回結果
4.Struts2執行過程
發送請求->調用execute方法-調用業務方法->返回業務結果->返回邏輯視圖名
->forward到物理視圖->生成響應內容->輸出響應
5.動態方法調用
作用:減少Action
<actionname="user"class="com.java.action.HelloAction">
<resultname="login">/login.jsp</result>
<resultname="register">/register.jsp</result>
</action>
<actionname="*user"class="com.java.action.HelloAction" method=”{1}”>
<resultname="user">/{1}.jsp</result>
</action>
--註意:需要打開
<constant name=”struts.enable.DynamicMethodInvocation”value=”true”>
--配置Result
結果類型
Dispatcher默認轉發
Redirect重定向
redirectAction重定向到Action
<actionname="*user"class="com.java.action.HelloAction" method=”{1}”>
<resulttype=”redirect”>/{1}.jsp</result>
</action>
<actionname="dologin"class="com.java.action.HelloAction" method=”dologin”>
<resulttype=”redirectAction”>${nextDispose}</result>
</action>
<actionname="manager">
<result>manager.jsp</result>
</action>
<actionname="common">
<result>common.jsp</result>
</action>
<packagename="default"extends="struts-default">
在default-action-ref後面在action前面
<global-results>
<result name=”error”>/error.jsp</result>
</global-results>
</package>
Struts2 配置詳解