Struts2架構學習(一)
1,Struts2架構介紹
Struts2架構是MVC流程架構,适合分層開發。架構應用實作不依賴于Servlet,使用大量的攔截器來處理使用者請求,屬于無侵入式的設計。
2,Struts2架構的流程原理
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SMlVTMwQDO3UGZykTZkRGO3EzMhRGO5czM1EGZmNmY48CX0EzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL5M3Lc9CX6MHc0RHaiojIsJye.png)
1)請求先到達Filter中央控制器
2)然後為Action建立代理類
3)将各個服務存放在攔截器中,執行完攔截器後再去執行action類行action類,action類調用service,再調用dao
4)得到結果字元串,建立result對象
5)轉向相應的視圖。
程式流程圖如下:
3,架構的使用
架構為我們做好了封裝,使用起來就按照步驟,配置幾個xml檔案就行拉。
1)導入jar包
2)拷貝struts.xml檔案
将拷貝的配置檔案放在根目錄src下。struts.xml檔案主要是配置請求路徑對應action類的,以及結果跳轉路勁。
[html] view plaincopyprint?
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <package name="example" namespace="/example" extends="struts-default">
- <action name="HelloWorld" class="struts2.action.HelloWorldAction">
- <result name="success">/success.jsp</result>
- </action>
- </package>
- </struts>
代碼說明:通路/example/HelloWorld.action對應執行struts2.action包下面的HelloWorldAction類;預設情況下執行類中的execute方法,如果想指定方法,需要在<action>标簽中添加method屬性;<result>标簽配置結果跳轉路徑。根據Action類中方法傳回的String字元串,去比對result标簽中的name值,進行跳轉。
-
- <!-- 配置架構的核心排程器 -->
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
- </filter>
- <filter-mapping>
- <url-pattern>/*</url-pattern>
- </filter-mapping>