struts2詳解之原理模式

服務架構圖:

        Struts2(具體實現)
            ^
            |
        java servlet規範
            ^
            |
        底層Http(基於底層)
<!-- more -->

java servlet api解決了底層/服務器問題,但沒有提供應用程序級別的問題,比如說
1、請求參數到java數據類型的綁定(從請求中拿出的都是字符串類型,但需要轉化成java的數據類型,很費時、麻煩)
2、訪問層的業務邏輯(形成一個一致的工作流,面向動作的框架Action)
3、訪問數據層
4、表示層(視圖複雜的javascript,國際化的呈現視圖、有太多的可複用代碼)
5、國際化和本地化的支持


MVC模式有三個關注點:模型、視圖、控制器
在Structs2當中通過action、result、FilterDispatcher來實現。

工作流: web客戶端   ^
            |         \
      請求  |          \
            |           \
            v            \    返回視圖
        控制器
            |             \
 調用動作   |              \                     
            v               \
        模型-------------> 視圖
                選擇結果


控制器:FilterDispatcher就是一個servlet過濾器,攔截所有的請求,根據配置文件裏的URL映射決定哪個動作處理這個請求,可以通過xml或者註解的方式來完成。

動作:Action主要有兩個作用,一是封裝了業務邏輯的調用(組合的方式),二是用於數據傳輸。

視圖(結果):Result視圖就是用戶看見的,通常是jsp頁面、模版技術呈現的視圖等。

structs2工作原理:
框架不僅包含了MVC組件,可以說在其他參與請求處理的組件(攔截器、OGNL、ValuStack值棧)的幫助下,提供了更爲整潔的MVC實現。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章