為什麼一定要知道整合後的執行流程呢?
在深度了解架構以後,才能在項目運作以後,報錯的時候,能夠很快的找到問題所在。
SSH架構的項目執行流程:(文字解析)
1.伺服器啟動,建立Struts2的過濾器的控制器,建立春容器對象。
執行個體化Struts2的控制器時,加載struts.xml中,支柱-default.xml中,default.properties,支柱-的plugin.xml等Struts的相關配置
執行個體化春容器時,加載applicationContext.xml中
2.客戶浏覽器發送請求,請求到達Struts2的的過濾器控制器
3.如果是動作請求,Struts2的控制器根據struts.xml中的<動作>配置,
要調用一個動作對象處理。
4.Struts2控制器調用支柱 - 彈簧 - plugin.jar提供的的ObjectFactory
擷取一個操作對象。
方法一:ObjectFactory的利用<操作>元素的類屬性去春容器尋找ID =類的豆對象。
*方法二:如果按上述方法找不到,ObjectFactory的會利用類指定值建立一個對象然後将春天容器的DAO,服務按名稱比對規則給行動注入。
5.Struts2控制器調用操作執行業務處理,處理完畢,傳回一個字元串辨別
6.Struts2控制器根據字元串辨別調用結果元件,生成響應資訊
7.将響應資訊給客戶浏覽器輸出,完成響應處理。