項(xiàng)目實(shí)踐精解

出版時(shí)間:2008-7  出版社:電子工業(yè)出版社  作者:梁立新  頁(yè)數(shù):624  

內(nèi)容概要

  本書通過(guò)一個(gè)完整的電子商務(wù)應(yīng)用的設(shè)計(jì)和開(kāi)發(fā)項(xiàng)目,引領(lǐng)讀者學(xué)習(xí)Struts-Spring-Hibernate架構(gòu)下完整的開(kāi)發(fā)體系,以及Struts-Spring-Hibernate的各個(gè)組件在項(xiàng)目開(kāi)發(fā)中的實(shí)際應(yīng)用。通過(guò)對(duì)該項(xiàng)目各個(gè)功能模塊需求分析、系統(tǒng)分析設(shè)計(jì)、部署實(shí)現(xiàn)及測(cè)試等全過(guò)程的分析,使讀者能夠快速掌握Struts-Spring-Hibernate中最核心的組件,并能夠依據(jù)書中提供的項(xiàng)目案例定制所需的功能,開(kāi)發(fā)專業(yè)的Java應(yīng)用系統(tǒng)?! ”緯勺鳛橛麑W(xué)習(xí)基于Struts-Spring-Hibernate的Java應(yīng)用開(kāi)發(fā)學(xué)習(xí)者的指導(dǎo)用書,也可作為Java應(yīng)用開(kāi)發(fā)的培訓(xùn)教材,還可作為Struts-Spring-Hibernate開(kāi)發(fā)人員的參考書。

書籍目錄

第一篇 整體介紹第1章 Struts-Spring-Hibernate概述1.1 框架概述1.2 Struts、Spring和Hibernate概述1.2.1 表示層1.2.2 持久層1.2.3 業(yè)務(wù)層1.2.4 域模塊層第二篇 項(xiàng)目分析設(shè)計(jì)第2章 項(xiàng)目開(kāi)發(fā)流程與分析設(shè)計(jì)概述2.1 項(xiàng)目開(kāi)發(fā)流程2.1.1 項(xiàng)目生命周期2.1.2 項(xiàng)目開(kāi)發(fā)階段2.2 UML概述2.2.1 用例圖2.2.2 類圖2.2.3 對(duì)象圖2.2.4 組件圖2.2.5 部署圖2.2.6 序列圖2.2.7 協(xié)作圖2.2.8 狀態(tài)圖2.2.9 活動(dòng)圖第3章 AscentWeb電子商務(wù)項(xiàng)目概述3.1 項(xiàng)目需求分析3.2 項(xiàng)目系統(tǒng)分析和設(shè)計(jì)3.2.1 面向?qū)ο蠓治鲈O(shè)計(jì)3.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)(Data Model)3.3 Struts 2.0-Spring 2.0-Hibernate 2.13.3 實(shí)現(xiàn)3.3.1 開(kāi)發(fā)工具與環(huán)境3.3.2 開(kāi)發(fā)工具集成步驟第三篇 Struts-Spring-Hibernate核心技術(shù)第4章 Struts技術(shù)4.1 MVC模式概述4.2 MVC與Struts映射4.3 Struts 的工作流程和配置文件4.3.1 Struts 的工作流程4.3.2 Struts的配置文件4.4 創(chuàng)建Controller組件4.4.1 FilterDispatcher4.4.2 Action的開(kāi)發(fā)4.4.3 屬性驅(qū)動(dòng)和模型驅(qū)動(dòng)4.5 創(chuàng)建Model組件4.5.1 JavaBean概述4.5.2 Enterprise JavaBean(EJB)概述4.5.3 Web服務(wù)(Web Services)概述4.6 創(chuàng)建View組件4.6.1 Struts常用標(biāo)簽庫(kù)(Struts Tag Library)4.6.2 Struts 中的表達(dá)式語(yǔ)言4.6.3 國(guó)際化支持4.7 Struts 的異常機(jī)制4.8 轉(zhuǎn)換器4.9 數(shù)據(jù)驗(yàn)證(Validation)4.9.1 使用Action的validate()方法4.9.2 使用Struts .0的校驗(yàn)框架4.10 攔截器(Interceptor)4.10.1 攔截器概述4.10.2 已有的攔截器4.10.3 自定義攔截器4.11 文件上傳4.12 Eclipse下Struts 2.0項(xiàng)目開(kāi)發(fā)4.12 步驟第5章 Hibernate技術(shù)5.1 Hibernate概述5.2 Hibernate單表的對(duì)象/關(guān)系5.2 數(shù)據(jù)庫(kù)映射5.2.1 持久化對(duì)象(Persistent Object)5.2.2 DAO(Data Access Object)5.3 Hibernate多表的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射5.3.1 多對(duì)一/一對(duì)多關(guān)系5.3.2 一對(duì)一關(guān)系5.3.3 多對(duì)多關(guān)系5.4 HQL語(yǔ)言(Hibernate Query Language)5.5 Hibernate過(guò)濾器(filters)5.6 對(duì)象狀態(tài)管理5.7 繼承映射(Inheritance Mapping)5.8 組件(Component)映射5.9 性能優(yōu)化5.9.1 抓取策略(Fetching Strategy)5.9.2 緩存管理5.9.3 理解集合性能(Understanding Collection Performance)5.9.4 監(jiān)測(cè)性能(Monitoring Performance)5.10 批量處理(Batch Processing)5.10.1 批量插入(Batch Insert)5.10.2 批量更新(Batch Update)5.10.3 大批量更新/刪除(Bulk Update/Delete)5.11 最佳實(shí)踐(Best Practices)5.12 Hibernate實(shí)戰(zhàn)開(kāi)發(fā)步驟第6章 Spring技術(shù)6.1 Spring 2.0的新特性6.1.1 簡(jiǎn)介6.1.2 控制反轉(zhuǎn)(IoC)容器6.1.3 面向切面編程(AOP)6.1.4 中間層6.1.5 Web層6.1.6 其他特性6.1.7 移植到Spring 2.06.1.8 更新的樣例應(yīng)用6.1.9 改進(jìn)的文檔6.2 Spring控制反轉(zhuǎn)IoC(Inversion of Control)6.2.1 IoC原理6.2.2 BeanFactory6.2.3 ApplicationContext6.3 Spring AOP面向方面編程原理6.3.1 AOP概念6.3.2 Spring的切入點(diǎn) Spring的通知類型6.3.4 Spring中的advisor6.3.5 用ProxyFactoryBean創(chuàng)建AOP代理6.4 事務(wù)處理6.4.1 聲明式事務(wù)處理6.4.2 編程式事務(wù)處理6.5 Spring其他特性6.5.1 Spring對(duì)JDBC的集成功能6.5.2 Spring MVC Web框架6.5.3 Spring對(duì)EJB的集成6.5.4 Spring對(duì)時(shí)序調(diào)度的支持6.5.5 使用Spring郵件抽象層發(fā)送E-mail6.5.6 通過(guò)Spring使用遠(yuǎn)程訪問(wèn)和Web服務(wù)6.5.7 JMS支持6.5.8 集成表現(xiàn)層6.6 Struts-Spring-Hibernate集成6.6.1 環(huán)境搭建和基本配置6.6.2 Spring和Hibernate集成6.6.3 Spring和Struts集成第四篇 測(cè)試與其他相關(guān)技術(shù)第7章 測(cè)試概述7.1 軟件測(cè)試概述7.2 常用測(cè)試技術(shù)7.3 JUnit單元測(cè)試簡(jiǎn)介7.3.1 安裝JUnit7.3.2 測(cè)試流程7.3.3 Eclipse與JUnit7.4 JMeter系統(tǒng)測(cè)試7.4.1 JMeter簡(jiǎn)介7.4.2 JMeter測(cè)試流程7.4.3 JMeter總結(jié)7.5 測(cè)試跟蹤工具Bugzilla7.5.1 Bugzilla安裝7.5.2 Bugzilla操作說(shuō)明7.5.3 Bugzilla管理員操作指南第8章 CVS的使用8.1 CVS介紹8.2 CVS服務(wù)器的安裝和配置8.3  CVS Eclipse客戶端的配置和使用8.4 CVS在Eclipse下的沖突處理第9章 Ant工具的使用9.1 Ant的安裝使用9.2 項(xiàng)目中Ant的使用9.2.1 build.xml9.2.2 build.properties9.3 Eclipse中使用Ant第10章 Log4j日志工具10.1 Log4j日志概述10.2 項(xiàng)目中使用Log4j的實(shí)例第五篇 參考文檔和技術(shù)細(xì)節(jié)附錄A Struts 與Struts 對(duì)比附錄B Struts 技術(shù)介紹附錄C Spring和Hibernate整合的分頁(yè)方案結(jié)束語(yǔ)參考文獻(xiàn)

章節(jié)摘錄

  第1章 Struts-Spring-Hibernate概述  目前,國(guó)內(nèi)外信息化建設(shè)已經(jīng)進(jìn)入以Web應(yīng)用為基礎(chǔ)核心的階段。Java語(yǔ)言應(yīng)該算得上是開(kāi)發(fā)Web應(yīng)用的最佳語(yǔ)言。然而,就算用Java建造一個(gè)不是很煩瑣的Web應(yīng)用系統(tǒng),也不是件輕松的事情。有很多東西需要仔細(xì)考慮,比如要考慮怎樣建立用戶接口?在哪里處理業(yè)務(wù)邏輯?怎樣持久化數(shù)據(jù)?幸運(yùn)的是,Web應(yīng)用面臨的一些問(wèn)題已經(jīng)由曾遇到過(guò)這類問(wèn)題的開(kāi)發(fā)者建立起相應(yīng)的框架(Framework)解決了。事實(shí)上,企業(yè)開(kāi)發(fā)中直接采用的往往并不是某些具體的技術(shù),比如大家熟悉的Core Java、JDBC、Servlet、JSP等,而是基于這些技術(shù)之上的應(yīng)用框架(Framework),Struts、Spring、Hibernate就是其中最常用的幾種?! ?.1 框架溉述  在介紹軟件框架(Framework)之前,我們首先要明確什么是框架和為什么要使用框架。這要從企業(yè)面臨的挑戰(zhàn)談起,如圖1.1所示?! ∥覀兛梢钥吹剑S著項(xiàng)目的規(guī)模和復(fù)雜性的提高,企業(yè)面臨前所未有的各個(gè)方面的挑戰(zhàn)。根據(jù)優(yōu)先級(jí)排序,主要包括高可靠性(High Availability)、低成本(CostEffective)、可擴(kuò)展性(Scalability)、投放市場(chǎng)快速性(Time to Market)、安全性(Secure)、性能(Good Performance)、可集成性(Ability to integrate)以及多平臺(tái)支持(Multi—channel)等。那么,我們?nèi)绾蚊鎸?duì)并且解決這些挑戰(zhàn)呢?這需要采用通用的、靈活的、開(kāi)放的、可擴(kuò)展的軟件框架,由框架來(lái)幫助我們解決這些挑戰(zhàn),之后再在框架基礎(chǔ)之上開(kāi)發(fā)具體的應(yīng)用系統(tǒng),如圖1—2所示?! ∵@種基于框架的軟件開(kāi)發(fā)方式和傳統(tǒng)的汽車生產(chǎn)方式是很類似的,如圖1—3所示。那么,到底什么是軟件框架呢?框架(Framework)的定義如下:  是應(yīng)用系統(tǒng)的骨架,將軟件開(kāi)發(fā)中反復(fù)出現(xiàn)的任務(wù)標(biāo)準(zhǔn)化,以可重用的形式提  供使用;  大多提供了可執(zhí)行的具體程序代碼,支持迅速地開(kāi)發(fā)出可執(zhí)行的應(yīng)用;但也可  以是抽象的設(shè)計(jì)框架,幫助開(kāi)發(fā)出健壯的設(shè)計(jì)模型;  好的抽象、設(shè)計(jì)成功的框架,能夠大大縮短應(yīng)用系統(tǒng)開(kāi)發(fā)的周期;  在預(yù)制框架上加入定制的構(gòu)件,可以大量減少編碼量,并容易測(cè)試;  分別用于垂直和水平應(yīng)用?! 】蚣芫哂幸韵绿攸c(diǎn):  框架具有很強(qiáng)(大粒度)的可重用性,遠(yuǎn)遠(yuǎn)超過(guò)了單個(gè)類;它是一個(gè)功能連貫  的類集合,通過(guò)相互協(xié)作為應(yīng)用系統(tǒng)提供服務(wù)和預(yù)制行為;  框架中的不變部分,定義了接口、對(duì)象的交互和其他不變量;  框架中的變化部分(應(yīng)用中的個(gè)性)。  一個(gè)好的框架定義了開(kāi)發(fā)和集成組件的標(biāo)準(zhǔn)。為了利用、定制或擴(kuò)展框架服務(wù),通常需要框架的使用者從已有框架類繼承相應(yīng)的子類,以及通過(guò)執(zhí)行子類的重載方法,用戶定義的類將會(huì)從預(yù)定義的框架類獲得需要的消息。這會(huì)給我們帶來(lái)很多好處,包括代碼重用性和一致性,對(duì)變化的適應(yīng)性,特別是它能夠讓開(kāi)發(fā)人員專注于業(yè)務(wù)邏輯,從而大大減少了開(kāi)發(fā)時(shí)間。圖1.4對(duì)是否使用框架對(duì)項(xiàng)目開(kāi)發(fā)所需工作量(以人月來(lái)衡量)的影響進(jìn)行了對(duì)比?! 膱D1.4中我們不難看出,對(duì)于沒(méi)有使用框架的項(xiàng)目而言,開(kāi)發(fā)所需工作量(以Man days,即人月來(lái)衡量)會(huì)隨著項(xiàng)目復(fù)雜性的提高(以Business function,即業(yè)務(wù)功能來(lái)衡量)以幾何級(jí)數(shù)遞增;而對(duì)于使用框架的項(xiàng)目而言,開(kāi)發(fā)所需工作量會(huì)隨著項(xiàng)目復(fù)雜性的提高以代數(shù)級(jí)數(shù)遞增。舉個(gè)例子:假定開(kāi)發(fā)團(tuán)隊(duì)人數(shù)一樣,一個(gè)沒(méi)有使用框架的項(xiàng)目所需的周期為6~9個(gè)月的話,那么同樣的項(xiàng)目如果使用框架則只需要3~5個(gè)月?! ?.2 Struts、Spring和Hibernate概述  在本書中,我們會(huì)具體討論如何使用3種著名的框架Struts、Sprin9和Hibernate來(lái)使你的應(yīng)用程序在保證質(zhì)量前提下得以快速開(kāi)發(fā)。  在軟件架構(gòu)設(shè)計(jì)中,我們往往建立軟件系統(tǒng)的高層結(jié)構(gòu),常常用到分層架構(gòu)模式?! 。?)分層模式是一種將系統(tǒng)的行為或功能以層為首要的組織單位來(lái)進(jìn)行分配(劃分)的結(jié)構(gòu)模式?! ?通常在邏輯上進(jìn)行垂直的層次Layer劃分;  ?在物理上則進(jìn)行水平的層級(jí)Tier劃分?! 。?)分層要求:層內(nèi)的元素只信賴于當(dāng)前層和之下的相鄰層中的其他元素。注意,這并非絕對(duì)的要求?! 〈蟛糠值腤eb應(yīng)用在職責(zé)上至少能被分成4層:表示層(Presentation Layer)、持久層(Persistence Layer)、業(yè)務(wù)層(Business Layer)和域模塊層(Domain Model Layer)。每個(gè)層在功能上都應(yīng)該是十分明確的,而不應(yīng)該與其他層混合。每個(gè)層要相互獨(dú)立,通過(guò)一個(gè)通信接口而相互聯(lián)系。下面將分別詳細(xì)地介紹這4層,討論一下這些層應(yīng)該提供什么,不應(yīng)該提供什么。  這里討論一個(gè)使用3種開(kāi)源框架的策略:表示層用Struts;業(yè)務(wù)層用Spring;而持久層則用Hibernate,如圖1.5所示。

編輯推薦

  可作為欲學(xué)習(xí)基于Struts-Spring-Hibernate的Java應(yīng)用開(kāi)發(fā)學(xué)習(xí)者的指導(dǎo)用書,也可作為Java應(yīng)用開(kāi)發(fā)的培訓(xùn)教材,還可作為Struts-Spring-Hibernate開(kāi)發(fā)人員的參考書。

圖書封面

評(píng)論、評(píng)分、閱讀與下載


    項(xiàng)目實(shí)踐精解 PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7