2. Struts2框架之原理篇(簡述)
阿新 • • 發佈:2019-01-26
一、Struts2的執行原理
- 伺服器啟動載入web.xml 內容,同時建立struts2的過濾器StrutsPrepareAndExecuteFilter,載入一系列的配置
- 當一個http請求訪問送到伺服器時,比如localhost/struts2/demo.action
這時,struts拿到這個地址,擷取到demo.action 路徑 - 拿著這個路徑到struts.xml 檔案中去匹配,dom4j 會解析xml檔案中的標籤,如果有action 標籤中的name屬性值與這個 demo 相匹配,那就順勢找到其對應的 class屬性
- 得到class的屬性值 也就是Action類全路徑,通過反射方法拿到位元組碼物件
Class clazz = Class.forName(“action的全路徑”); - 然後得到名稱是execute的方法(預設訪問的)
Method m = clazz.getMethod(“execute”); - 方法執行,得到返回值
Object obj = m.invoke(); - 根據返回值再到struts.xml檔案中 result便籤中匹配name屬性值,如果一樣就跳轉到配置的頁面中