第1章 配置开发环境 1
1.1安装JDK 1
1.1.1获得JDK安装软件 1
1.1.2安装JDK 2
1.1.3检查JDK的安装结果 2
1.2 Eclipse初探 4
1.2.1 Eclipse的发布版本 5
1.2.2安装和配置Eclipse 7
1.2.3运行Eclipse 7
1.2.4 Eclipse集成环境概述 8
1.2.5使用Eclipse开发第一个Java程序 9
1.3 Tomcat 12
1.3.1获得Tomcat 12
1.3.2安装和配置Tomcat 13
1.3.3启动Tomcat 13
1.3.4在Eclipse中配置Tomcat 14
1.4安装Oracle 16
1.5小结 19
第2章 Eclipse的使用 20
2.1 Eclipse的启动参数 20
2.1.1指定Eclipse的启动参数 20
2.1.2 Eclipse的常用参数 20
2.1.3查看Eclipse的配置参数 23
2.1.4加快Eclipse的运行速度 24
2.2 Eclipse中的透视图 25
2.2.1选择透视图 26
2.2.2透视图介绍 26
2.2.3透视图的设置 27
2.2.4自定义透视图 28
2.3 Eclipse的插件管理 29
2.3.1安装插件 29
2.3.2插件的管理 34
2.4 Eclipse的使用 35
2.4.1在Eclipse中使用Ant 35
2.4.2在Eclipse中使用CVS 40
2.4.3在Eclipse中使用JUnit 46
2.5小结 50
第3章 Struts 2入门 51
3.1 Struts 2简介 51
3.1.1了解Struts 2 52
3.1.2获得Struts 2 54
3.1.3运行Struts 2的样例程序 56
3.2 Struts 2的第一个应用 57
3.2.1构建Hello World程序 57
3.2.2实现用户登录功能 68
3.3小结 75
第4章 深入Struts 2 76
4.1 Struts 2的处理流程 76
4.2 FilterDispatcher 78
4.2.1 FilterDispatcher的作用 78
4.2.2 FilterDispatcher的配置 79
4.3 Struts 2的配置文件 81
4.3.1 package元素 84
4.3.2 include元素 85
4.3.3 bean元素 85
4.3.4 constant元素 88
4.4 Struts 2中常量的配置 88
4.4.1 Struts 2中常量配置的优先级 88
4.4.2 Struts 2中常量的配置方法 89
4.4.3 Struts 2中的可配置参数 90
4.5 Struts 2中的ValueStack 95
4.5.1 OGNL 95
4.5.2 OgnlValueStack的基本应用 105
4.6 Struts 2中的类型转换 112
4.6.1转换器的定义 112
4.6.2 Struts 2中的类型转换机制 114
4.6.3转换器的注册 114
4.6.4 Struts 2所提供的类型转换器 124
4.6.5 Struts 2对Collection和Map的类型转换 125
4.6.6为集合对象建立索引 129
4.6.7类型转换中的错误处理 129
4.7小结 131
第5章 Struts 2的视图核心技术 132
5.1 Struts 2的标签库 132
5.1.1 Struts 2标签库概述 132
5.1.2 Struts 2标签的配置 133
5.1.3 Struts 2标签的语法 134
5.1.4 Struts 2标签的功能 137
5.2 Struts 2的主题和模板 164
5.2.1 Struts 2的主题 164
5.2.2 Struts 2的模板 167
5.3 Ajax在Struts 2中的应用 169
5.3.1 Ajax的核心技术 170
5.3.2 Struts 2对于Ajax的支持 181
5.4小结 185
第6章 Struts 2的后台核心技术 186
6.1 Action的开发 186
6.1.1 Action介绍 186
6.1.2 Action的基本开发技巧 190
6.2 Action的配置 195
6.2.1 Action的基本配置 195
6.2.2 Action的高级配置 200
6.3 Struts 2中的拦截器 202
6.3.1 Struts 2所提供的拦截器 203
6.3.2拦截器的配置 205
6.3.3使用自己的拦截器 208
6.3.4拦截器的使用技巧 209
6.4 Action的处理结果 210
6.4.1 Struts 2所提供的处理结果 210
6.4.2扩展的处理结果 214
6.4.3处理结果的定义 214
6.4.4定义自己的处理结果 215
6.4.5处理结果的使用技巧 220
6.5小结 221
第7章 Struts 2的其他核心技术 222
7.1文件的上传和下载 222
7.1.1文件的上传 222
7.1.2文件的下载 231
7.2 Struts 2的国际化 236
7.2.1资源文件概述 236
7.2 2资源文件的使用 237
7.2.3 Struts 2中的多语言 238
7.2.4如何实现用户语言的切换 241
7.3 Struts 2的输入校验 242
7.3.1输入校验的方法 243
7.3.2 Struts 2的内建校验器 244
7.3.3校验器的注册 245
7.3.4校验规则的定义 246
7.4 Struts 2的扩展 252
7.5小结 253
第8章 Hibernate简介 254
8.1持久化技术 254
8.2持久层技术 254
8.3持久层技术的实现 257
8.4 ORM概述 259
8.5 Hibernate简介 259
8.6获得Hibeernate 260
8.6.1 Hibernaate Core 260
8.6.2 Hibernate Annotations 261
8.6.3 Hibernate EntityManager 261
8.6.4 Hibenate Shards 261
8.6.5 Hibemate Validator 262
8.6.6 Hibernate Tools 262
8.6 7 NHibemate 262
8.6.8 JBoss Seam 262
8.7 Hibernate Core软件包的组成 263
8.7.1运行样例程序和测试程序 263
8.7.2 Hiberate的依赖组件 263
8.8小结 265
第9章 Hibernate入门 266
9.1项目的体系结构 266
9.2项目开发概述 267
9.2.1功能介绍 268
9.2.2应用的主要技术 270
9.2.3开发步骤和方法 271
9.3开发博客管理系统 271
9.3.1创建一个新项目 272
9.3.2分析和建模 272
9.3.3实现域模型 276
9.3.4编写数据库脚本 288
9.3.5定义映射文件 289
9.3.6编写Hibernate的配置文件 292
9.3.7 Hibernate工具类的实现 300
9.3.8 Hibernate Filter的实现 311
9.3.9定义和实现系统的异常 316
9.3.10定义和实现DAO 318
9.3.11完成用户注册和登录功能 348
9.3.12博客管理功能的实现 359
9.3.13博客主页的实现 372
9.4小结 378
第10章 深入Hibernate 379
10.1 Hibernate的体系结构 379
10.1.1 Hibernate在应用程序中的位置 379
10.1.2 Hibernate的体系结构 380
10.2 Hibernate实体对象的生命周期 382
10.2.1 Transient瞬态) 382
10.2.2 Persistent(持久态) 383
10.2.3 Detached(游离态) 384
10.2.4 实体对象的状态转换 385
10.3 Hibernate API简介 392
10.3.1 Configuration类 392
10.3.2 SessionFactory接口 393
10.3.3 Session接口 393
10.3.4 Transaction接口 398
10.3.5 Query接口 399
10.3.6 Cnteria接口 408
10.4小结 412
第11章 Hibernate映射技巧 413
11.1映射文件的配置 413
11.1.1 <hibernate-mapping> 413
11.1.2 <class> 415
11.1.3 <id> 418
11.1.4 <property> 420
11.2集合类的映射 422
11.2.1 Java的集合类 422
11.2.2集合类的使用 426
11.3实体对象关联关系的映射 430
11.3.1一对一关联关系的映射 431
11.3.2一对多关联关系的映射 435
11.3.3多对一关联关系的映射 436
11.3.4多对多关联关系的映射 436
11.4实体对象继承的映射 438
11.4.1每个具体类一张表 439
11.4.2每个类分层结构一张表 441
11.4.3每个子类一张表 442
11.4.4对象继承的映射方法总结 444
11.5映射中的inverse和cascade 445
11.5.1 inverse属性 445
11.5.2 cascade属性 448
11.5.3 inverse与cascade的区别 449
11.6小结 449
第12章 Hibernate高级技巧 450
12.1 Hibernate的事务处理 450
12.1.1事务的基本概念 450
12.1.2数据库的隔离级别 451
12.1.3 Hibernate中的事务处理 452
12.1.4并发控制 453
12.2 Hibernate的缓存 461
12.2.1什么是缓存 461
12.2.2一级缓存 461
12.2.3二级缓存 462
12.2.4 Hibernate查询方法与缓存的关系 470
12.3 Hibernate的性能优化 471
12.3.1设计阶段的考虑问题 472
12.3.2批量插入、更新和删除数据 472
12.3.3提升数据库查询的性能 474
12.4小结 477
第13章 Spring简介 478
13.1 Spring简介 478
13.1.1容器 478
13.1.2何谓“轻量级” 479
13.1.3轻量级容器的现状 480
13.2控制反转 480
13.3依赖注入 481
13.4面向切面的编程 482
13.5 Spring框架简介 484
13.6获得Spring 485
13.7小结 485
第14章 Spring的核心技术 486
14.1 IoC容器 486
14.1.1 IoC容器和Bean 487
14.1.2 Bean的基本配置 492
14.1.3 Bean的其他特性 514
14.2资源 518
14.2.1 Resource接口 519
14.2.2 Resource的实现 519
14.2.3 ResourceLoader接口 521
14.2.4资源小结 521
14.3数据绑定功能 521
14.3.1数据绑定对象 522
14.3.2数据绑定中的类型转换 525
14.3.3实现自定义的Property Editor 526
14.3.4数据绑定功能小结 530
14.4面向切面的编程 530
14.4.1 AOP的思想和本质 531
14.4.2 AOP的基本概念 531
14.4.3 Spring AOP的功能 532
14.4.4基于配置的AOP 533
14.4.5基于@AspectJ的AOP 540
14.5小结 547
第15章 基于Spring的数据访问 548
15.1事务管理 548
15.1.1事务管理的框架 548
15.1.2声明式事务管理 550
15.1.3注解式事务管理 552
15.2使用JDBC访问数据库 553
15.2.1 Spring JDBC简介 554
15.2.2 Spring JDBC核心包的使用 554
15.2.3 Spnng JDBC数据源包 561
15.2.4 Spring JDBC对象包 562
15.2.5 Spring JDBC支持包 562
15.3使用Hibernate访问数据库 564
15.3.1 Hibernate数据库访问流程 564
15.3.2利用Spnng的IoC容器创建SessionFactory 565
15.3.3 DAO的开发 567
15.3.4 Hibermate的事务管理 570
15.3.5 OpenSessionInView模式 571
15.4小结 572
第16章 Spring MVC入门 573
16.1简介 573
16.2构建项目 573
16.3使用Spnng的MVC 574
16.3.1 Spring MVC简介 574
16.3.2配置DispatcherServlet 576
16.3.3创建自己的控制器 577
16.3.4页面视图的实现 578
16.3.5配置控制器的映射 579
16.3.6增加业务逻辑 582
16.3.7增加前台提交数据的处理功能 589
16.3.8数据保存功能的实现 605
16.4小结 611
第17章 Spring的Web集成 612
17.1视图集成技术 612
17.1.1视图和视图解析器 612
17.1.2集成前的准备工作 612
17.1.3 JSP和JSTL的使用 614
17.1.4 XSLT的使用 615
17.1.5 PDF的输出 618
17.1.6 Excel文件的输出 619
17.1.7视图集成技术小结 622
17.2 Web框架集成技术 622
17.2.1通用配置 622
17.2.2 Struts 1.x集成 623
17.2.3 Struts 2.x集成 625
17.3小结 625
第18章 使用Struts 2+Spring+Hibernate架构开发订货系统 626
18.1 Web应用的体系结构 627
18.1.1表示层 627
18.1.2持久层 628
18.1.3业务层 628
18.1.4域模型层 629
18.2项目初始化 629
18.3开发订货系统 630
18.3.1域模型层的开发 631
18.3.2持久层的配置 634
18.3.3业务层的开发和配置 636
18.3.4 UI层的实现 646
18.4小结 660