标题：Struts+Spring+Hibernate开发入行真功夫
版权信息
书 名: Struts+Spring+Hibernate开发入行真功夫
作　者：三扬科技
出版社： 电子工业出版社
出版时间： 2009ISBN: 9787121080579
开本： 16
定价: 59.50 元
内容简介
《Struts+Spring+Hibernate开发入行真功夫》采用软件最新版本，满足程序员对新技术及时掌握的需求，面向“入行”者，注重实践与工程化理论相结合。随书附赠光盘，收录超长时间的讲解视频，提供实例中心、项目中心、源码中心三大资料库，提供丰富的程序实例、效果演示、完整的开发项目，以及图书、光盘涉及程序的完整源代码。《Struts+Spring+Hibernate开发入行真功夫》适合作为Java相关培训机构的教材，也可作为Java自学人员的参考手册。JavaEE是目前最新版本的应用平台，由J2EE升级而来，其对流行框架Struts、Hibernate、Spring的支持更加完善，可大幅度提高开发系统的效率、性能与稳定性，不仅可以用于开发应用程序，还可以进行网络编程，用途十分广泛。全书内容由浅入深，围绕JavaEE平台，从零开始讲解开发平台的基础知识，以及各种主流框架的主要特性、技术，并通过案例说明开发框架的具体应用。
编辑推荐
《Struts+Spring+Hibernate开发入行真功夫》精要·以职业需求为背景。《Struts+Spring+Hibernate开发入行真功夫》深入分析当前Java语言的主流开发技能需求，并以此为前提，组织全书内容。·以应用开发入行为目标。《Struts+Spring+Hibernate开发入行真功夫》严格遵循案例驱动的模式进行编著，不仅每个章节均提供了经典案例，全书更是围绕着一个完整项目展开讲解。每章案例通过不同技术实现的对比，使读者更能深刻体会到技术特性，以便在真正使用时更加游刃有余。·以敏捷开发工具为辅助。《Struts+Spring+Hibernate开发入行真功夫》最后对敏捷开发过程中经常应用到的几种工具，进行了详细介绍，包括ANT、JUnit、CVS及Log4j。这些工具的使用，对于提高软件开发效率，降低开发周期及提高软件稳定性都起到了重要的作用。·以软件工程实践为规范。《Struts+Spring+Hibernate开发入行真功夫》在案例场景设计和项目实践中，融入软件工程和面向对象的思想，以工程化的要求指导项目开发涉及到的需求分析、数据库设计、系统架构设计、模块设计、程序编码和应用部署的整个流程。
36小时高品质视频讲解
囊括10余种技术的企业面试题库
8项数十种实用资料组成的求职指南
完整实例源码与习题解答
专家在线指导、实时答疑
面向择业、晋升与再就业人群
注重实践能力与工程思想的培养
任务驱动，大量案例场景贯穿全书
一线开发工程师浓缩多年经验与感悟
全新学习路线Why—How—What—Where
目录
第1章JavaEE运行及开发环境1
视频时长：30分钟
JavaEE5平台的目的在于为开发者提供一系列强大的API，同时减少开发时间，降低应用复杂性并且提高应用的性能。
——EricJendrock,JenniferBall
1.1案例场景2
1.1.1创建问候程序2
1.1.2我们现在能做的……2
1.2JDK的下载、安装及设置3
1.2.1JDK的下载与安装3
1.2.2JDK环境变量的配置6
1.3Tomcat的下载、安装及设置7
1.3.1Tomcat的下载与安装7
1.3.2Tomcat的基本配置9
1.3.3Tomcat服务器页面10
1.3.4Tomcat的数据源配置11
1.4Eclipse的下载、安装及设置12
1.4.1Eclipse的下载与安装12
1.4.2熟悉Eclipse开发环境12
1.5开发第一个JavaEE应用：HelloWorld15
1.5.1开始创建第一个JavaEE应用：HelloWorld15
1.5.2熟悉HelloWorld应用框架15
1.6回到案例场景18
1.6.1基本思路18
1.6.2代码演练20
1.7本章小结与习题20
1.7.1重点回顾20
1.7.2课后练习20
第2章JSP和Servlet21
视频时长：60分钟
Servlet作为一种标准功能来支持J2EE规范，如果没有这种可伸缩的Servlet，则那些应用服务器开发商将丧失竞争力。——JasonHunter,WilliamCrawford（美）
2.1案例场景22
2.1.1图书馆管理系统应用——读者登录模块22
2.1.2我们现在能做的……23
2.2开发第一个JSP+Servlet应用23
2.2.1创建工程24
2.2.2编码24
2.2.3部署26
2.3认识JSP26
2.3.1JSP的工作原理27
2.3.2JSP注释27
2.3.3JSP声明28
2.3.4JSP表达式29
2.3.5JSP的3个编译指令30
2.3.6JSP的7个动作指令31
2.3.7JSP的9个内置对象32
2.4认识Servlet35
2.4.1Servlet的开发35
2.4.2Servlet的配置36
2.4.3Servlet的生命周期37
2.4.4使用Servlet作为控制器37
2.4.5load-on-startupServlet38
2.4.6自定义标签库39
2.4.7预处理用户请求：Filter41
2.4.8使用Listener43
2.5回到案例场景45
2.5.1基本思路45
2.5.2代码演练45
2.6本章小结与习题48
2.6.1重点回顾48
2.6.2课后练习48
第3章SQL与JDBC49
视频时长：66分钟
不同的厂商由不同的“提供者”（驱动)来实现JDBCAPI，使开发人员与实际的数据库实现方式隔离（理论上属于松散耦合）。——TedNeward
3.1案例场景50
3.1.1图书馆管理系统应用——增加读者模块50
3.1.2我们现在能做的……50
3.2SQL52
3.2.1SQL概述52
3.2.2数据操纵语言52
3.2.3使用SQL53
3.3JDBC56
3.3.1JDBC概述56
3.3.2JDBC驱动程序56
3.3.3使用JDBC读取数据57
3.4回到案例场景62
3.4.1基本思路62
3.4.2代码演练62
3.5本章小结与习题66
3.5.1重点回顾66
3.5.2课后练习66
第4章Struts框架入门67
视频时长：35分钟
Struts已经成为利用Servlet和JSP技术构建Web应用程序的最流行的表示框架包，它推动形成了基于Model-View-Controller（MVC）设计模式（通常称为Model2方式）的应用程序架构。——CraigMcClanahan
4.1案例场景68
4.1.1创建Struts问候程序68
4.1.2我们现在能做的……68
4.2MVC框架70
4.2.1熟悉模型1与模型271
4.2.2MVC设计模式71
4.3Struts基础72
4.3.1Struts的起源73
4.3.2Struts的体系结构73
4.3.3Struts的下载与安装74
4.4认识Struts的核心组件74
4.4.1Struts的工作原理74
4.4.2视图组件75
4.4.3模型组件76
4.4.4控制器组件76
4.4.5struts-config.xml和web.xml77
4.5创建Struts问候程序78
4.5.1执行流程78
4.5.2JSP的实现79
4.5.3MessageResources和Application.properties文件80
4.5.4ActionForm对象80
4.5.5数据校验81
4.5.6创建模型组件81
4.5.7Action对象81
4.5.8创建常量文件82
4.5.9配置web.xml和struts-config.xml文件83
4.5.10发布与执行问候程序83
4.6回到案例场景84
4.6.1基本思路84
4.6.2代码演练84
4.7本章小结与习题87
4.7.1重点回顾87
4.7.2课后练习88
第5章Struts进阶89
视频时长：63分钟
尽管所有的客户端界面都应当国际化和本地化，但这对于Web应用尤其重要，因为Web具有全球化的本质特性。——DebbieCarson，IanEvans，ScottFordin
5.1案例场景90
5.1.1图书馆管理系统应用——改善读者登录模块90
5.1.2我们现在能做的……91
5.2Struts的配置95
5.2.1配置ActionServlet95
5.2.2配置ActionForm96
5.2.3配置Action97
5.2.4配置ActionMapping98
5.2.5配置ActionForward98
5.3DispatchAction类99
5.4Struts国际化100
5.4.1为什么需要国际化100
5.4.2认识Struts国际化组件100
5.4.3访问资源包的方式102
5.5使用Struts标签库102
5.5.1使用Struts标签的基本配置103
5.5.2使用HTML标签库104
5.5.3使用Bean标签库105
5.5.4使用Logic标签库105
5.6回到案例场景106
5.6.1基本思路106
5.6.2代码演练107
5.7本章小结与习题111
5.7.1重点回顾112
5.7.2课后练习112
第6章Struts提高113
视频时长：43分钟
动态ActionForm听起来像是漫画中的超级英雄，不过它并不能在方法调用中一飞冲天。不管怎样，它可以极大地减轻开发Struts应用的苦役。同样，Struts验证框架可以代劳许多惯常的表单验证工作，而使您专注于业务逻辑。——JamesTurner,KevinBedell
6.1案例场景114
6.1.1图书馆管理系统应用——读者信息注册模块114
6.1.2我们现在能做的……115
6.2使用动态ActionForm120
6.2.1配置动态ActionForm120
6.2.2在Action中访问动态ActionForm120
6.3Struts验证框架——Validator121
6.3.1安装和配置Validator框架121
6.3.2认识Validator框架和ActionForm123
6.3.3创建第一个使用Validator框架的示例124
6.3.4创建自定义验证规则128
6.4Tiles框架129
6.4.1认识Tiles框架129
6.4.2采用基本的JSP语句创建复合式网页130
6.4.3采用JSP的include指令创建复合式网页131
6.4.4采用标签创建复合式网页133
6.4.5采用Tiles模板创建复合式网页133
6.5回到案例场景135
6.5.1基本思路135
6.5.2代码演练135
6.6本章小结与习题140
6.6.1重点回顾140
6.6.2课后练习140
第7章初识Hibernate框架141
视频时长：60分钟
基于ORM平台Hibernate的开放对象模型架构满足了客户在运行时不需要对应用源代码进行任何改动就可以按照最终用户的实际需求设置应用的需求。——EnterraInc
7.1案例场景142
7.1.1问候程序142
7.1.2我们现在能做的……142
7.2认识ORM146
7.2.1为什么需要ORM146
7.2.2流行的ORM框架146
7.3安装Hibernate147
7.3.1下载与安装Hibernate147
7.3.2Hibernate发布包介绍148
7.4认识Hibernate149
7.4.1Hibernate框架结构149
7.4.2Hibernate配置文件149
7.4.3Configuration与SessionFactory151
7.4.4Session类151
7.4.5对象关联关系152
7.4.6Hibernate映射152
7.4.7Hibernate工作原理154
7.5第一个Hibernate应用154
7.5.1创建数据库155
7.5.2配置环境155
7.5.3配置数据库连接156
7.5.4开发持久对象156
7.5.5编写映射文件156
7.5.6编写业务逻辑157
7.5.7运行测试158
7.5.8常见问题解决159
7.6回到案例场景159
7.6.1基本思路159
7.6.2代码演练160
7.7本章小结与习题163
7.7.1重点回顾163
7.7.2课后练习163
第8章Hibernate查询165
视频时长：156分钟
和Hibernate的ORM映射一样，HibernateSearch帮助用户实现了业务90%的工作，并且使用户专注于余下更为困难的业务实现部分。——RyanSlobojan
8.1案例场景166
8.1.1图书馆管理系统应用——图书信息检索模块166
8.1.2我们现在能做的……167
8.2Hibernate的数据检索策略169
8.2.1立即检索170
8.2.2延迟检索171
8.2.3预先检索172
8.2.4批量检索173
8.3Hibernate的数据查询方式175
8.3.1HQL方式176
8.3.2QBC方式176
8.3.3原生SQL方式177
8.4Hibernate的关联查询177
8.4.1一对一关联关系的使用177
8.4.2一对多、多对一关系的使用178
8.4.3多对多的使用180
8.5Hibernate过滤182
8.5.1Session过滤182
8.5.2Filter过滤182
8.6回到案例场景183
8.6.1基本思路183
8.6.2代码演练184
8.7本章小结与习题188
8.7.1重点回顾188
8.7.2课后练习188
第9章Hibernate性能优化189
视频时长：78分钟
到目前为止，我还没有在Hibernate的层面上发现任何问题，我是说我们甚至都没有优化查询。我们使用的就是Hibernate自动生成的东西，性能也非常好。——InfoQ首席架构师AlexandruPopescu
9.1案例场景190
9.1.1图书馆管理系统应用——归还图书模块190
9.1.2我们现在能做的……191
9.2Hibernate事务与并发196
9.2.1什么是事务与并发196
9.2.2Hibernate中的事务处理196
9.2.3在Hibernate中使用JTA事务198
9.2.4并发控制199
9.3Hibernate缓存201
9.3.1缓存原理201
9.3.2在Hibernate应用中使用一级缓存201
9.3.3在Hibernate应用中使用二级缓存202
9.3.4在Hibernate应用中使用第三方缓存203
9.4回到案例场景205
9.4.1基本思路205
9.4.2代码演练206
9.5本章小结与习题211
9.5.1重点回顾212
9.5.2课后练习212
第10章Spring框架入门213
视频时长：54分钟
一把锤子可以做出很多东西，可能是个板凳，也可能是件艺术作品，这都取决于您如何去做。——BramSmeets，SethLadd
10.1案例场景214
10.1.1问候程序214
10.1.2我们现在能做的……214
10.2Spring框架基础216
10.2.1认识Spring框架216
10.2.2Spring框架特点216
10.2.3Spring框架核心架构217
10.3建立Spring开发环境218
10.3.1下载Spring框架218
10.3.2Spring发布包与软件包219
10.3.3创建Spring应用环境220
10.4Bean的装配221
10.4.1Bean基本配置221
10.4.2为Bean添加属性222
10.4.3简化配置223
10.5理解Spring的核心——IoC224
10.5.1控制反转224
10.5.2依赖注入的3种方式225
10.6BeanFactory与ApplicationContext227
10.6.1认识BeanFactory227
10.6.2使用ApplicationContext228
10.7回到案例场景229
10.7.1基本思路229
10.7.2代码演练230
10.8本章小结与习题231
10.8.1重点回顾231
10.8.2课后练习231
第11章SpringAOP233
视频时长：85分钟
AOP试图帮助程序员分离关注点，尤其是横向切面关注点（Cross-CuttingConcerns）。——VigilBose
11.1案例场景234
11.1.1图书馆管理系统应用——日志输出234
11.1.2我们现在能做的……234
11.2AOP基础235
11.2.1AOP与OOP236
11.2.2AOP的核心概念236
11.2.3Java动态代理与AOP237
11.2.4SpringAOP简介239
11.3使用Spring的通知240
11.3.1BeforeAdvice240
11.3.2AfterReturningAdvice241
11.3.3MethodInterceptor242
11.3.4ThrowAdvice243
11.4使用Spring的切入点244
11.4.1静态切入点244
11.4.2动态切入点246
11.5SpringAOP的代理工厂246
11.5.1选择合适的代理246
11.5.2ProxyFactory247
11.5.3ProxyFactoryBean247
11.6回到案例场景249
11.6.1基本思路249
11.6.2代码演练250
11.7本章小结与习题252
11.7.1重点回顾252
11.7.2课后练习252
第12章Spring与JavaEE持久化
数据访问253
视频时长：70分钟
Spring有一整套数据访问框架，整合了各种各样的数据访问技术。帮助您摆脱持久化代码中烦人的数据访问，您可以依赖Spring处理低级数据访问工作，而把精力集中到数据应用的工作中。——CraigWalls，RyanBreidenbach
12.1案例场景254
12.1.1图书馆管理系统应用——删除管理员模块254
12.1.2我们现在能做的……254
12.2Spring对DAO模式的支持260
12.2.1统一的数据访问异常260
12.2.2通用的数据访问模板及抽象支持类261
12.3Spring的JDBC262
12.3.1为什么需要JdbcTemplate262
12.3.2通过JdbcDaoSupport使用JdbcTemplate263
12.3.3JdbcTemplate提供的常用数据操作方法263
12.4Spring中的事务处理265
12.4.1对事务的理解265
12.4.2Spring事务处理概述265
12.4.3编程式事务处理266
12.4.4声明式事务处理267
12.4.5标注式事务处理268
12.5回到案例场景269
12.5.1基本思路269
12.5.2代码演练272
12.6本章小结与习题276
12.6.1重点回顾276
12.6.2课后练习276
第13章Spring与Struts、Hibernate框架的整合基础277
视频时长：62分钟
Spring的定位是JavaEEApplicationFramework，也就是为快速化的Web应用开发提供基础的技术架构。当Spring与Struts和Hibernate等项目结合以后，将会极大提升开发效率。
13.1案例场景278
13.1.1图书馆管理系统应用——维护图书馆信息模块278
13.1.2我们现在能做的……278
13.2Spring与Struts整合的3种方式279
13.2.1使用WebApplicationContext279
13.2.2继承Spring的ActionSupport280
13.2.3将Struts的Action托管给Spring281
13.3Spring和Hibernate的整合282
13.3.1Spring对Hibernate的支持282
13.3.2管理SessionFactory282
13.3.3Hibernate的DAO实现284
13.3.4使用HibernateTemplate284
13.3.5管理Hibernate事务285
13.4在Eclipse中构建SSH整合框架体系286
13.5回到案例场景293
13.5.1基本思路293
13.5.2代码演练294
13.6本章小结与习题301
13.6.1重点回顾301
13.6.2课后练习301
第14章AJAX与DWR303
视频时长：60分钟
JesseJamesGarrett为“跨浏览器异步富客户端动态HTML客户服务技术”，取了一个简洁而干脆的名字：AJAX。——DavaCrane
14.1案例场景304
14.1.1图书馆管理系统应用——完善用户注册应用304
14.1.2我们现在能做的……304
14.2创建第一个AJAX应用305
14.2.1创建工程305
14.2.2编码306
14.2.3运行与测试308
14.3AJAX技术308
14.3.1概述309
14.3.2AJAX构成309
14.3.3理解第一个AJAX应用310
14.4DWR框架313
14.4.1概述313
14.4.2DWR框架原理313
14.4.3DWR框架的下载与安装313
14.4.4使用DWR框架314
14.5回到案例场景317
14.5.1基本思路317
14.5.2代码演练319
14.6本章小结与习题324
14.6.1重点回顾324
14.6.2课后练习324
第15章图书馆管理系统325
视频时长：160分钟
现代图书馆的管理也可称做图书馆科学管理。科学管理是图书馆现代化的前提和条件，是图书馆生存发展的依据，是图书馆整体效益得到最大限度发挥的保证。
15.1关于图书馆管理系统326
15.2系统功能解析326
15.2.1管理员登录与退出327
15.2.2系统管理329
15.2.3图书管理330
15.2.4读者管理331
15.2.5借还管理333
15.2.6信息搜索334
15.2.7读者登录与修改信息335
15.2.8图书续借336
15.3系统数据库设计336
15.3.1数据库分析336
15.3.2实体关系分析339
15.3.3数据库实现340
15.4系统框架搭建345
15.4.1工程目录结构345
15.4.2创建工程346
15.5系统代码实现347
15.5.1数据库连接的实现348
15.5.2工具类的实现349
15.5.3管理员登录与退出实现353
15.5.4系统管理实现361
15.5.5图书管理实现372
15.5.6读者管理实现394
15.5.7借还管理实现413
15.5.8前台功能实现424
15.6系统背后的思考436
15.7本章小结438
第16章敏捷开发常用工具439
视频时长：50分钟
为一种团队软件开发模式，敏捷开发就是一种人为艺术，一种个体和团队相互作用而形成的人为艺术。——JamesShore
16.1案例场景440
16.1.1图书馆管理系统应用的扩充440
16.1.2我们现在能做的……440
16.2Ant工具442
16.2.1概述442
16.2.2Ant的安装442
16.2.3使用Ant443
16.2.4Ant在项目中的应用446
16.2.5在Eclipse中使用Ant448
16.3JUnit单元测试工具450
16.3.1JUnit的安装451
16.3.2编写测试类451
16.3.3在Eclipse中使用JUnit453
16.4CVS版本控制工具456
16.4.1认识版本控制456
16.4.2CVS服务器的安装与配置456
16.4.3在Eclipse中安装并配置CVS客户端457
16.4.4多用户使用CVS常见问题及解决方案462
16.5Log4j日志工具463
16.5.1认识Log4j的基本概念463
16.5.2Log4j的配置及应用463
16.6回到案例场景466
16.6.1基本思路466
16.6.2代码演练468
16.7本章小结与习题470
16.7.1重点回顾470
16.7.2课后练习470
……