對Struts2的理解

    Struts2是在WebWork基礎發展而來的。webwork是一個面向切面的開源框架,而webwork是基於wwork發展而來的,Xwork是一個命令模式,Struts2也屬於MVC框架。把webwork改了一個名字就變成了Struts2.

    Struts2爲了解決Struts1表現層的單一以及與servlet API的嚴重耦合而出現的,使應用難於測試。屬於侵入性框架。所以產生了在webwork的基礎上發展起來的Struts2.

    Struts2的優點:1、支持Ajax,2、支持Ognl標籤,3、提供了強大的攔截器,4、線程安全(因爲每次請求都會產生一個實例)。

    Struts2的缺點:耦合度低,比較複雜,源代碼不好調試。

    Struts2請求處理流程:

        1、客戶端發送請求(客戶端初始化一個指向Servlet容器(如Tomcat)的請求);

        2、請求經過一系列過濾(如ActionContextCleanUp、SiteMesh等),ActionContextCleanUp->FilterDispatcher。

        3、FilterDispatcher通過ActionMapper來決定這個Request需求調用哪個Action,如果不是調用action則直接執行你的資源。

        4、如果ActionMapper決定調用某個Action,FilterDispatcher把請求的處理交給ActionProxy;

        5、ActionProxy通過ConfigurationManager詢問Struts配置文件(Struts.xml),找到需要調用的Actionlei .

        6、ActionProxy創建一個ActionInvocation的實例;

        7、ActionInvocation通過一系列的攔截器調用真正的Action,當然這涉及到相關攔截器的調用;

        8、Action執行完畢,ActionInvocation創建Result並返回,返回結果前要做些動作也是可以的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章