<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 7,  comments - 58,  trackbacks - 0
    struts與hibernate集成開發
    最近學習struts與hibernate相關知識,下面是個人對struts與hibernate集成開發的一些見解,寫出來跟大家共同討論、學習,歡迎指教。
     要集成struts與hibernate進行開發,首先應該了解一下struts和hibernate框架各自的工作原理和模式般的開發流程。
    首先介紹struts的大概工作流程,下面通過一張struts工作的時序圖來說明其工作流程:

    Struts工作流程分析:
    1)Web服務器啟動,初始化ActionServlet,讀取struts-config.xml文件配置信息,把這些信息分發到相應的對象中。
    2)用戶發出請求后,ActionServlet接收到請求,查找與請求匹配的Action映射對象(ActionMapping)對象是否存在,是:將請求以及Actionform對象傳遞給相應的Action對象。
    3)Action調用業務邏輯服務接口,結合ActionForm,對用戶的請求做出處理。
    4)Action處理完畢返回ActionForward對象給ActionServlet。ActionForward對象包含了轉發目標對象,可以是jsp或Action。
    5)ActionServlet根據ActionForward對象的指向繼續轉發請求,重復從第2步進行處理。
    至此,我們對struts 的基本工作流程有個整體的認識,但還沒提hibernate相關的任何知識,業務邏輯層也只是在第3)點微提一下。

    接下來,我們來看下hibernate是怎樣工作的?(注:在這不是討論ORM的實現,只討論怎讓hibernate這ORM中間件工作)
    Hibernate是個獨立的框架,它不依賴任何的Web Server或Application Server,就是說不需要這些支持。
    Hibernate有五個核心接口,分別為Configuratoin, SessionFactory, Session,Query及Criteria。通過這些接口就可以完成hibernate的初始化,對持久化對象進行存取,更新等操作。
    下面簡要介始一下這些接口。
    1、Configuration接口 是Hibernate應用的入口,在開始使用Hibernate的各種功能之前需要先創建Configuration對象。它負責加載Hibernate 應用配置文件,如Configuration cf = new Configuration.configure("com/myproj/hibernate/configs/hibernate.cfg.xml");
    2、SessionFactory接口 緩存了Configuration對象所包含的配置信息,能根據映射信息自動生成SQL語句,并提供生成Session對象的方法。
    3、Session接口提供一系列持久化的操作。
    到此,可以寫一小段代碼來加看下如何使用hibernate
    Configuration cf = new Configuration.configure("com/myproj/hibernate/configs/hibernate.cfg.xml");//配置文件不在此作介紹
    SessionFactory sessionFactory = cf.buildSessionFactory();
    Session session = sessionFactory.openSession();
    session.update();
    session.save();等等持久化操作。
    至此,簡單介紹了hibernate 是怎樣工作的,其實我只想讓你清楚:“Hibernate是個獨立的框架,它不依賴任何的Web Server或Application Server,就是說不需要這些支持。”

    那么,我們要回到主題來:如何集成struts與hibernate開發?答案很簡單:hibernate和struts本質上是沒什么聯系的,只要你記住:Hibernate是個獨立的框架,它不依賴任何的Web Server或Application Server。用DAO模式把hibernate持久化的操作封裝好,供業務邏輯服務類調用就可以。回過頭來看struts工作流時序圖的解釋的第三點:“3)Action調用業務邏輯服務接口,結合ActionForm,對用戶的請求做出處理。”,不難得出:
    用戶請求后,struts負責找到相應的Action對象,Action調用業務邏輯服務接口,業務邏輯服務接口調用DAO接口(這里默認的實現就用hibernate,當然, 還可以有多種對數據庫操作的實現)
    hibernate充當下面這張圖中的"持久層(DAO)"


    由于本人對struts及hibernate認識不深,寫這篇文章只是拋磚引玉,希望高手們發表意見指正錯誤,多指教。





    posted on 2008-02-29 18:44 Sonny Li 閱讀(1004) 評論(0)  編輯  收藏 所屬分類: 框架相關

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2008年2月>
    272829303112
    3456789
    10111213141516
    17181920212223
    2425262728291
    2345678

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    收藏夾

    博客好友

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 性色av极品无码专区亚洲| 亚洲免费福利在线视频| 最近的免费中文字幕视频| 色婷婷亚洲十月十月色天| 永久免费A∨片在线观看| 亚洲国产另类久久久精品黑人| 男女猛烈无遮掩视频免费软件| 国产成人免费片在线观看| 亚洲丁香婷婷综合久久| 日韩高清免费在线观看| 久久久久亚洲精品无码网址色欲| 香蕉高清免费永久在线视频| 亚洲av无码偷拍在线观看| 免费a级毛片大学生免费观看| 国产成人精品亚洲一区| 狠狠色婷婷狠狠狠亚洲综合 | 一级毛片在线免费看| 亚洲高清在线mv| 噼里啪啦电影在线观看免费高清| 亚洲娇小性色xxxx| 精品国产一区二区三区免费看| 色屁屁www影院免费观看视频| 亚洲情侣偷拍精品| 久久青草免费91线频观看站街| 亚洲女人初试黑人巨高清| 成年女人毛片免费播放视频m| 黄色网址免费在线| 久久国产亚洲观看| 日韩免费精品视频| 无码精品人妻一区二区三区免费| 国产亚洲精品国产| 日韩精品无码区免费专区| 丰满少妇作爱视频免费观看| 久久亚洲精品成人| 97在线观看永久免费视频| 美女啪啪网站又黄又免费| 国产亚洲精品一品区99热| 最近免费中文字幕4| 一本一道dvd在线观看免费视频| 亚洲激情视频在线观看| 日韩免费一区二区三区|