【正文】
esn39。s introduction is a kind of development strategy, lead the Hibernate into the model layer of Struts frame, usage it to carry on a data to pack with reflect to shoot, provide hold out for long time turn of support. 4 usage Hibernate and the Struts development J2 EE application system structure diagram 3 manifestation according to Hibernate and Struts development strategy of system structure diagram. the Spring Frame Spring isn39。 2)tradition of J2 EE application much the adoption is according to the EJB heavy weight frame, this kind of frame suitable for develop a large business enterprise application, but usage the EJB container carry on development and adjust to try to need to be waste a great deal of lowering the Ou of code to match sex, exaltation system of development efficiency, this text put forward one kind EE according to the J2 of the Struts frame 、 the Hibernate frame and the Spring frame application development strategy. The Hibernate Frame Data39。 在開發(fā)過程中,使用 Eclipse做為開發(fā)環(huán)境,同時(shí)加載了對(duì) Struts、 Spring及 Hibernate提供更好的控制和支持的第三方插件 MyEclipse, Web服務(wù)器使用 Tomcat, 數(shù)據(jù)庫選用了 Mysql。 可訂制的 綁 定和數(shù)據(jù)校驗(yàn)作為應(yīng)用級(jí)的輸入機(jī)制的錯(cuò)誤校驗(yàn) ,固定日期和數(shù)字 綁 定 ,例如 ,通過手動(dòng)檢查和轉(zhuǎn)換業(yè)務(wù)對(duì)象來替換單個(gè)的 string。 所有你注冊(cè) bean 和 Spring 服務(wù)都可以在不需要 Spring的 web MVC的情況下都可以 輕松掌握 。 關(guān)于視圖 :Spring 的視圖方案非常的靈活 。 換句話說 ,一個(gè) WebWork Action 聯(lián)合所有這些角色到一個(gè)單 獨(dú)的對(duì)象 。 舉例來說 ,它描述了具有在應(yīng)用范圍內(nèi)的校驗(yàn)錯(cuò)誤的輸入機(jī)制 ,但不是系統(tǒng)錯(cuò)誤 , 所以在你的 form 對(duì)象里面你不必復(fù)制你的業(yè)務(wù)對(duì)象 的 spring 屬性 ,只操作出錯(cuò)的子任務(wù) ,或者適當(dāng)?shù)剞D(zhuǎn)換spring。 這將用于一個(gè)應(yīng)用的控制 ,但是 ,如果你想包含多個(gè)層次的控制,AbstractController,AbstractCommandController, MultiActionController,SimpleFormController,AbstractWizardFormController 將幫助你完成 .應(yīng)用控制將代表那些子系統(tǒng) 。 這個(gè)框架的的設(shè)計(jì)思想是在你的應(yīng)用需要改良的時(shí)候,你將會(huì)做一些技術(shù)的選擇 , 例如 ,如果你需要分布式事務(wù)處理,你可能需要用 Spring 的 Jta TransactionManager 來實(shí)現(xiàn) JTA 服務(wù) 。 對(duì)于 Spring 的 web 支持或者不同的地方, Spring 允許你在 web 容器里面建立一個(gè)中間層,在測試環(huán)境或者標(biāo)準(zhǔn)獨(dú)立的應(yīng)用里面來設(shè)置重用你的商務(wù)邏輯 .還有在 J2EE 環(huán)境里面,你的商務(wù)邏輯不必依靠容器提供的服務(wù),像 JTA ,EJB 的支持 。 例如 : 一個(gè)校驗(yàn)應(yīng)用將不用依靠 controllers 就可以實(shí)現(xiàn)。 Spring 框架 Spring 明顯區(qū)別于其他輕量級(jí) application framework, 它將專注于 web的支持,與 struts 和 webwork 有著明顯的區(qū)別。模型以一個(gè)或多個(gè) Java Bean的形式存在。動(dòng)作類訪問核心商業(yè)邏輯,即訪問 Java Bean或調(diào)用 EJB。在 Struts中,承擔(dān) MVC中控制器角色的是 ActionServlet。因此,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新??刂破鳎?Controller)是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對(duì) 應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。根據(jù)界面設(shè)計(jì)可變性的需求, MVC把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。在 Hibernate中有一個(gè)簡單而直觀的 API,用于對(duì)數(shù)據(jù)庫所表示的對(duì)象執(zhí)行查詢。它不僅提供了從 Java類到數(shù)據(jù)表的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。但是,在傳統(tǒng) J2EE應(yīng)用的開發(fā)過程中也出現(xiàn)了一些問題: (1)數(shù)據(jù)模型和邏輯模型之間的 矛盾。 借助于 J2EE規(guī)范中包含的多項(xiàng)技術(shù): Enterprise JavaBean(EJB)、 Java Servlets(Servlet)、 Java Server Pages(JSP)、 Java Message Service(JMS)等,開發(fā)出了許多應(yīng)用系統(tǒng)。 Hibernate 框架 Hibernate是一個(gè)數(shù)據(jù)持 久層框架,是一種實(shí)現(xiàn)對(duì)象和關(guān)系之間映射( O/R Mapping)的工具,它對(duì) JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,使程序員可以使用對(duì)象編程思想來操作數(shù)據(jù)庫。通過使用 HQL語句將復(fù)雜的關(guān)系算法用對(duì)象的方式描述, 在很大程度上簡化了對(duì)數(shù)據(jù)的查詢,加快了開發(fā)的效率。 用 Struts實(shí)現(xiàn) MVC架構(gòu) MVC( ModelViewController)由 Trygve Reenskaug提出,首先被應(yīng)用在 SmallTalk80環(huán)境中 , 是許多交互和界面系統(tǒng)的構(gòu) 成基礎(chǔ)。它從模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的顯示形式或視圖。如果用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。 Struts框架很好的結(jié)合了 Jsp, Java Servlet, Java Bean, Taglib等技術(shù)。另外控制組件也負(fù)責(zé)用相應(yīng)的請(qǐng)求參數(shù)填充 Action Form( FromBean),并傳給動(dòng) 作類( ActionBean)。在 Struts框架中,視圖主要由 JSP生成頁面完成,Struts提供豐富的 JSP標(biāo)簽庫,這有利于分開表現(xiàn)邏輯和程序邏輯。下面介紹一種開發(fā)策略,將 Hibernate引入到 Struts框架的模型層中,使用它來進(jìn)行數(shù)據(jù)封裝和映射,提供持久化的支持。 從它的設(shè)計(jì)理念,你可以看到 Spring 幫助你實(shí)現(xiàn)了真正的邏輯層和 web 層的分離 。 然而 , Spring替換 struts、 webwork 或者其他的 web 方案非常容易 。s Hessian/Burlap。 缺省的操作是一個(gè)非常簡單的控制接口 , 他只提供了 ModelAndView handleRequest (request, response)方法 。 Spring 的數(shù)據(jù) 綁 定非常 靈活 。 對(duì)比 WebWork,Sping 更多的區(qū)別在于對(duì)象角色 :Spring 支持控制器的感念 ,一個(gè)操作命令或者 form 對(duì)象和得到數(shù)據(jù)傳遞給視圖的模式 , 這個(gè)模式通常包含命令和 form 對(duì)象 ,但有時(shí)也包含任意的參考數(shù)據(jù) 。 然而 ,參考數(shù)據(jù)也需要作為 Action 的屬性被模擬 。 值得注意的是 , 這里沒有任何的 plugins被調(diào)用 ,因此沒有專門的集成 :來自 web 層的視圖 , 你可以簡單的將 Spring 作為一個(gè)管理application context 實(shí)例入口點(diǎn)的類庫 。 適應(yīng)性 ,無論什么樣的控制器你都需要得到代替Action/ActionForm 所做的每件事情的方案 (簡單 ,命令 ,form,范例 ,多重 action,或者定制一個(gè) ) 重用業(yè)務(wù)邏輯代碼 ,不需要復(fù)制 ,你可以用已經(jīng)有的業(yè) 務(wù)邏輯對(duì)象作為命令或則 form 對(duì)象代替反射特定的 ActionForm 子類 。登錄的流程非常清晰:用戶從登錄頁面 ,系統(tǒng)對(duì)登錄信息進(jìn)行驗(yàn)證,如 果正確則成功登錄,否則提示相應(yīng)錯(cuò)誤信息 。 A Development Frame Application Based on the Hibernate、 the Struts and the Spring J2EE One preface along with the Java technique of gradual mature and perfect. Be establishment business enterprise class application of standard terrace,the J2 EE terrace got substantial of development .Several technique asked for help from to include in the J2 EE norm : Enterprise JavaBean (EJB), Java Servlets (Servlet), Java Server Pages(JSP), Java Message Service(JMS)etc., development many application , also appeared some problem in the tradi