ssh框架的工做原理

struts2的工做原理spring

1 客戶端初始化一個指向Servlet容器(例如Tomcat)的請求數據庫

2 這個請求通過一系列的過濾器(Filter)(這些過濾器中有一個叫作ActionContextCleanUp 的可選過濾器,這個過濾器對於Struts2和其餘框架的集成頗有幫助,例如:SiteMesh Plugin)
3 接着FilterDispatcher被調用,FilterDispatcher詢問ActionMapper來決定這個請是否須要調用某個Action
4 若是ActionMapper決定須要調用某個Action,FilterDispatcher把請求的處理交給ActionProxy
5 ActionProxy經過Configuration Manager詢問框架的配置文件,找到須要調用的Action類
6 ActionProxy建立一個ActionInvocation的實例。
7 ActionInvocation實例使用命名模式來調用,在調用Action的過程先後,涉及到相關攔截器(Intercepter)的調用。
8 一旦Action執行完畢,ActionInvocation負責根據struts.xml中的配置找到對應的返回結果。返回結果一般是(但不老是,也可 能是另外的一個Action鏈)一個須要被表示的JSP或者FreeMarker的模版。在表示的過程當中可使用Struts2 框架中繼承的標籤。在這個過程當中須要涉及到ActionMapper。session

爲何要用:
JSP、Servlet、JavaBean技術的出現給咱們構建強大的企業應用系統提供了可能。但用這些技術構建的系統很是的繁亂,因此在此之上,咱們須要一個規則、一個把這些技術組織起來的規則,這就是框架,Struts便應運而生。

基於Struts開發的應用由MVC組件構成:控制器組件、模型組件、視圖組件。

 mvc

Struts的validate框架是如何驗證的?
在struts配置文件中配置具體的錯誤提示,再在FormBean中的validate()方法具體調用。app

Spring工做原理及其做用
1.springmvc請全部的請求都提交給DispatcherServlet,它會委託應用系統的其餘模塊負責對請求進行真正的處理工做。
2.DispatcherServlet查詢一個或多個HandlerMapping,找處處理請求的Controller. 3.DispatcherServlet請請求提交到目標Controller
4.Controller進行業務邏輯處理後,會返回一個ModelAndView
5.Dispathcher查詢一個或多個ViewResolver視圖解析器,找到ModelAndView對象指定的視圖對象
6.視圖對象負責渲染返回給客戶端。框架

爲何要使用Spring:
AOP 讓開發人員能夠建立非行爲性的關注點,稱爲橫切關注點,並將它們插入到應用程序代碼中。使用 AOP後,公共服務(好比日誌、持久性、事務等)就能夠分解成方面並應用到域對象上,同時不會增長域對象的對象模型的複雜性。
IOC 容許建立一個能夠構造對象的應用環境,而後向這些對象傳遞它們的協做對象。正如單詞 倒置 所代表的,IOC 就像反過來的JNDI。沒有使用一堆抽象工廠、服務定位器、單元素(singleton)和直接構造(straightconstruction),每個對象都是用其協做對象構造的。所以是由容器管理協做對象(collaborator)。 性能

hibernate工做原理:
一、經過Configuration().configure();讀取並解析hibernate.cfg.xml配置文件。
二、由hibernate.cfg.xml中的<mappingresource="com/xx/User.hbm.xml"/>讀取解析映射信息。
三、經過config.buildSessionFactory();//獲得sessionFactory。
四、sessionFactory.openSession();//獲得session。
五、session.beginTransaction();//開啓事務。
六、persistent operate;
七、session.getTransaction().commit();//提交事務
八、關閉session;
九、關閉sessionFactory;ui

爲何要用: 編碼

1. 對JDBC訪問數據庫的代碼作了封裝,大大簡化了數據訪問層繁瑣的重複性代碼。 spa

2. Hibernate是一個基於JDBC的主流持久化框架,是一個優秀的ORM實現。他很大程度的簡化DAO層的編碼工做

3. hibernate使用Java反射機制,而不是字節碼加強程序來實現透明性。

4. hibernate的性能很是好,由於它是個輕量級框架。映射的靈活性很出色。它支持各類關係數據庫,從一對一到多對多的各類複雜關係。

相關文章
相關標籤/搜索