更新時間:2022-04-11 10:29:11 來源:動力節(jié)點 瀏覽1660次
讀取和解析配置文件
讀取和解析映射信息,創(chuàng)建 sessionFactory
創(chuàng)建交易交易
耐力操作
提交事務
關閉會話
關閉會話工廠
為什么使用:
對JDBC訪問數(shù)據(jù)庫的代碼進行了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣重復的代碼。
是基于jdbc的主流持久化框架,優(yōu)秀的ORM實現(xiàn),大大簡化了DAO層的編碼
使用 Java 反射機制而不是字節(jié)碼增強器的透明度
它是一個輕量級框架,具有出色的映射靈活性,支持各種關系數(shù)據(jù)庫,從一對一到多對多的復雜關系
hibernate2 延遲加載實現(xiàn):實體對象 B. 收藏
hibernate3 提供屬性的延遲加載
hibernate在查詢數(shù)據(jù)時,內(nèi)存中不存在數(shù)據(jù)。當程序?qū)嶋H對數(shù)據(jù)進行操作時,對象存在于內(nèi)存中,實現(xiàn)了延遲加載,節(jié)省了服務器的內(nèi)存開銷,提高了服務器的性能。
類之間的關系主要體現(xiàn)在表與表之間的關系上。它們都對對象進行操作。在我們的程序中,所有表和類都映射在一起。他們在配置文件中傳遞多對。-一個,一對多,多對多
內(nèi)存緩存存在于hibernate中,也叫一級緩存,屬于應用事務級緩存
二級緩存:a) 應用和緩存 b) 分布式緩存 c) 第三方緩存的實現(xiàn)
工作流程:Web 應用程序啟動時,會加載并初始化 ActionServlet。ActionServlet 從 struts-config.xml 文件中讀取配置信息并將它們存儲在各種配置對象中。
當 ActionServlet 接收到客戶端請求時,會執(zhí)行如下流程:
檢索與用戶請求匹配的 ActionMapping 實例。如果不存在,則返回請求路徑無效信息;
如果ActionForm實例不存在,則創(chuàng)建一個ActionForm對象,并將客戶提交的表單數(shù)據(jù)保存在ActionForm對象中;
根據(jù)配置信息判斷是否需要表單驗證。如果需要驗證,調(diào)用ActionForm的validate()方法;
如果ActionForm的validate方法返回null或者返回一個不包含ActionMessage的ActionErrors對象,則表示表單驗證成功;
ActionServlet 根據(jù) ActionMapping 中包含的映射信息決定將請求轉(zhuǎn)發(fā)到哪個 Action。如果對應的Action實例不存在,會先創(chuàng)建這個實例,然后調(diào)用Action的execute方法;
Action的execute方法返回一個ActionForward對象,ActionServlet將客戶端請求轉(zhuǎn)發(fā)給ActionForward對象指向的JSP組件;
ActionForward對象指向JSP組件生成動態(tài)網(wǎng)頁返回給客戶端;
為什么使用struts:
JSP、Servlet、JavaBean技術的出現(xiàn),為我們構建強大的企業(yè)應用系統(tǒng)提供了可能。但是用這些技術構建的系統(tǒng)是非常復雜的,所以在這之上,我們需要一個規(guī)則,一個規(guī)則來組織這些技術,這就是框架,Struts就應運而生了
基于Struts開發(fā)的應用程序由三種組件組成:控制器組件、模型組件和視圖組件