图书介绍
Java 第一步:基础+设计模式+Servlet+EJB+Struts+Spring+HibernatePDF|Epub|txt|kindle电子书版本网盘下载
![Java 第一步:基础+设计模式+Servlet+EJB+Struts+Spring+Hibernate](https://www.shukui.net/cover/27/30126265.jpg)
- 胡书敏,陈宝峰,程炜杰编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302186076
- 出版时间:2009
- 标注页数:896页
- 文件大小:205MB
- 文件页数:924页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Java 第一步:基础+设计模式+Servlet+EJB+Struts+Spring+HibernatePDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Java与面向对象思想1
1.1初识Java语言1
1.1.1 Java是什么1
1.1.2为什么要选用Java语言2
1.1.3 Java语言的解释执行与跨平台特性3
1.1.4怎样学好Java4
1.2什么是面向对象思想5
1.2.1软件开发的方法学——面向对象思想提出的背景5
1.2.2面向对象的物质基础——类与封装6
1.2.3抽象与代码复用——抽象类与概念抽象7
1.2.4模块的开关——接口与功能抽象8
1.2.5同名但不同参——多态与重载8
1.2.6具有面向对象思想语言的优势9
1.3开发我们的第一个Java程序10
1.3.1如何配置Java的开发环境10
1.3.1.1下载和安装JDK10
1.3.1.2设置JDK的环境变量10
1.3.3.3安装Eclipse12
1.3.3.4添加Eclipse的中文插件12
1.3.2编写HelloWorld程序12
1.3.3运行HelloWorld程序13
1.3.4使用Eclipse集成开发环境运行HelloWorld程序13
1.4本章小结16
第2章 开始学习Java语法17
2.1基本数据类型与操作符17
2.1.1基本数据类型17
2.1.2基本操作符18
2.1.3操作符优先级21
2.1.4对象型的数据类型22
2.1.5方法(函数)的参数和返回值24
2.2程序流程控制25
2.2.1顺序与分支25
2.2.2循环流程27
2.2.3有争议的goto语句28
2.2.4使用if语句判定是否是闰年29
2.2.5使用循环语句计算阶乘30
2.2.6使用switch语句控制输出30
2.3类与封装32
2.3.1类的构成要素32
2.3.2类的构造函数与构造次序32
2.3.3用package封装工具类和用import引入需要的类35
2.3.4修饰符与类内部对象的可见性36
2.3.5静态方法与抽象方法39
2.3.6类的封装性与模块的解耦合42
2.3.7垃圾收集机制与Finalize语句段44
2.3.8提供用电服务类的示例代码46
2.4继承与抽象类48
2.4.1继承的设计动机48
2.4.2抽象类与概念抽象49
2.5接口与实现51
2.5.1接口的语法51
2.5.2为什么要使用接口52
2.5.3接口与抽象类在本质上的区别——空调外的例子52
2.5.4通过实现接口的方式开发电视和收音机类53
2.6具有“分离”特性的多态55
2.6.1从重载中归纳多态的特性55
2.6.2多态与“分离”——实现小动物叫56
2.7 RTTI与反射58
2.7.1君子无不可用之势——论后期编译的效果58
2.7.2在代码里实现RTTI的效果59
2.7.3类的照妖镜——反射60
2.7.4使用反射机制实现代码还原61
2.8通过约束降低出错可能性的泛型64
2.8.1什么是泛型64
2.8.2泛型的示例代码64
2.9本章小结65
第3章 Java中的数据结构——集合类66
3.1集合类与数据容纳66
3.1.1在项目中自定义数据类型的难处66
3.1.2什么是数据结构67
3.1.3Java集合中的两类数据结构67
3.2线性表型的集合67
3.2.1顺序访问的典范——数组类67
3.2.2数组的改进版本——Vector类70
3.2.3先进后出的Stack类75
3.2.4链表式的List接口以及LinkedList实现类78
3.2.4.1 List接口里的方法79
3.2.4.2 List实现类及其功能79
3.2.4.3 List代码示例80
3.2.5 不允许有重复元素的Set接口82
3.2.5.1 Set接口里的方法82
3.2.5.2 Set实现类及其功能82
3.2.6对第一类集合的归纳84
3.2.7使用Vector模拟Stack的动作84
3.2.8使用Vector模拟队列的动作87
3.3键值对型的集合89
3.3.1为什么要使用Hash类89
3.3.2键值对的典范——Hashtable类90
3.3.3通过“魔术代码”分析equals和hashCode方法92
3.3.4封装了散列表数据结构的Map接口97
3.3.4.1 Map接口里的方法97
3.3.4.2实现Map接口的类99
3.3.4.3 Map代码实例99
3.3.4.4采用Entry对象遍历Map100
3.3.5对第二类集合的归纳101
3.4枚举器与数据操作102
3.4.1访问集合类的“不确定性”难题102
3.4.2“大智若愚”的枚举器接口102
3.4.3枚举器“分离”思想的启示104
3.4.4使用枚举器定义统一的访问各集合的方法——一个打印的例子104
3.5深浅拷贝106
3.5.1“偷懒”的共享数据块的方法——浅拷贝107
3.5.2似是而非的浅拷贝——只拷贝ArrayList对象108
3.5.3“刨根撅底”的深拷贝——实现对ArrayList的整体克隆110
3.6 Java集合类中的排序112
3.6.1让你的对象是可比较的112
3.6.2为你的对象定义比较器114
3.7本章小结116
第4章 有异常怎么办117
4.1异常的基本概念117
4.1.1险恶的项目运行环境117
4.1.2步步为营的异常处理机制118
4.1.3Java虚拟机处理异常的流程120
4.2异常技术综述121
4.2.1错了不要紧——论运行期异常121
4.2.2自食其力——处理自己的异常122
4.2.3有问题就报告——异常的抛出声明126
4.2.4弥补阙漏的自定义异常128
4.3异常的陷阱130
4.3.1异常与继承130
4.3.2谁动了我的异常131
4.3.3论资排辈的异常级别133
4.4本章小结134
第5章 IO流与流读写操作135
5.1输入流与输出流135
5.1.1什么是流对象135
5.1.2复杂的输入输出应用与简单的Java IO类库135
5.1.3 Java里IO流对象的逻辑关系136
5.2 IO对象使用说明137
5.2.1怎样读写文件——读写一个文本文件138
5.2.2怎样读写内存数据141
5.2.3怎样读写带格式的数据144
5.2.4标准设备与重定向146
5.2.5压缩和解压缩ZIP文件——创建一个压缩和解压缩的程序150
5.2.6用StreamTokenizer类输出不同格式的Token153
5.3本章小结155
第6章 Java与多线程开发156
6.1线程到底是什么156
6.1.1线程的定义156
6.1.2线程的生命周期157
6.1.3操作系统与线程并发158
6.2定义自己的线程,继承Thread类158
6.2.1 Thread类与线程158
6.2.2使用Thread类实现计数器功能158
6.3解决继承局限性,实现Runnable接口162
6.3.1 Runnable接口与线程162
6.3.2使用Runnable接口实现计数器功能162
6.4避免冲突,控制多线程的并发165
6.4.1劳逸结合——线程的睡眠165
6.4.2控制数据的有效性,通过synchronized关键字声明同步——一个由并发引起的数据错误修改及解决的例子166
6.4.3线程的等待与通知线程恢复工作177
6.4.4死锁的成因177
6.4.5特事特办,线程的优先级180
6.4.6多线程经典案例——生产者消费者问题183
6.5本章小结186
第7章 Java与网络开发187
7.1网络开发的基本需求187
7.1.1网络通讯模型和网络通讯协议187
7.1.2通过TCP协议建立可靠的通讯信道188
7.1.2.1两军问题与建立可靠连接的难题188
7.1.2.2通过三次握手,建立通讯信道189
7.1.2.3支持TCP协议的Java包190
7.1.3通过UDP协议高效地发送数据报文192
7.1.3.1 UDP协议与数据报文192
7.1.2.2 Java的UDP相关类说明193
7.2面向套接字编程195
7.2.1使用套接字实现基于TCP协议的服务器和客户机程序195
7.2.1.1开发服务器端代码196
7.2.1.2开发客户端代码198
7.2.1.3运行效果演示199
7.2.2使用套接字连接多个客户机200
7.2.2.1开发服务器端代码200
7.2.2.2开发客户端代码203
7.2.2.3运行效果演示206
7.2.3 UDP协议与传输数据报文207
7.2.3.1开发服务器端代码207
7.2.3.2开发客户端代码212
7.2.3.3开发客户端代码213
7.3 RMI开发概述215
7.3.1什么是RMI215
7.3.2 RMI的实质——透明地调用远端方法215
7.3.3 RMI代码实例——一个非常简单的Hello World程序216
7.3.3.1编写提供远程方法的接口216
7.3.3.2编写提供远程方法的实现类217
7.3.3.3编写RMI客户端代码218
7.3.3.4配置运行RMI代码219
7.4本章小结220
第8章 Java与数据库开发221
8.1 Java连接数据库的工具221
8.1.1连接数据库的通用接口221
8.1.2 JDBC模型与数据库访问控制222
8.1.3 JDBC接口概述224
8.2以JDBC-ODBC的方式连接数据库225
8.2.1配置Access数据库环境225
8.2.1.1创建一个新的数据库226
8.2.1.2在新数据库中创建一个表227
8.2.2配置ODBC数据源连接233
8.2.3使用JDBC_ ODBC桥接方式连接数据库235
8.2.4获得并遍历结果集237
8.3使用数据库驱动程序连接SQL Server 2005239
8.3.1配置SQL Server数据库环境和数据库驱动程序239
8.3.2使用JDBC驱动程序的方式连接数据库242
8.3.3获得并遍历结果集245
8.4使用数据库驱动程序连接数据库MySQL250
8.4.1配置MySQL数据库环境和驱动程序250
8.4.2使用驱动程序连接MySQL253
8.4.3 Eclipse下的运行结果255
8.5本章小结256
第9章 Java与图形界面开发257
9.1开发Applet应用程序257
9.1.1什么是Applet257
9.1.2 Applet的生命周期258
9.1.3向Applet里添加控件258
9.1.4 Applet的事件处理模型260
9.1.5开发Applet的HelloWorld程序261
9.1.5.1 HelloWorld程序261
9.1.5.2运行HelloWorld262
9.2重量级的图形开发工具——AWT库264
9.2.1什么是AWT264
9.2.2 AWT的控件说明264
9.2.2.1容器265
9.2.2.2组件265
9.2.2.3布局管理器266
9.2.3事件监听与事件处理266
9.2.4 AWT的控件代码267
9.3让界面开发更容易270
9.3.1什么是Swing270
9.3.2 Swing的容器与控件说明270
9.3.2.1 Swing的容器270
9.3.2.2 Swing的组件271
9.3.3 Swing的布局控制271
9.3.4 Swing的事件监听与事件处理机制271
9.3.5使用Swing开发象棋界面271
9.3.5.1象棋程序设计271
9.3.5.2棋子和类Chess272
9.3.5.3落子点和类Point274
9.3.5.4规则和类ChessRule277
9.3.5.5棋盘和类ChessBoard277
9.3.5.6类ChessFrame284
9.4本章小结287
第10章 生命游戏288
10.1需求分析与设计288
10.1.1囚徒博弈288
10.1.2生命游戏和囚徒博弈288
10.1.3生命游戏的基本需求290
10.1.3.1博弈规则290
10.1.3.2博弈的邻居291
10.1.3.3移动规则292
10.1.3.4基本需求292
10.1.3.5模块设计293
10.2生命游戏说明293
10.2.1开发主界面293
10.2.1.1使用Applet开发主界面293
10.2.1.2参数设置界面296
10.2.1.3博弈规则设置界面297
10.2.1.4模式选择界面298
10.2.1.5按钮控制界面301
10.2.1.6设置默认参数301
10.2.1.7参数说明302
10.2.2开发游戏模拟界面305
10.2.2.1获得游戏参数305
10.2.2.2数据显示界面306
10.2.2.3模拟界面307
10.2.2.4构造函数312
10.2.3开发事件监听与响应机制312
10.3业务逻辑开发315
10.3.1企业模块315
10.3.2生命游戏的逻辑代码317
10.3.3让生命运动起来323
10.4运行游戏324
10.4.1编写运行Applet的网页324
10.4.2设置游戏参数325
10.4.3企业ID显示模式326
10.4.4企业方向显示模式328
10.4.5企业策略显示模式329
10.5本章小结330
第11章 基于图形和网络的Java聊天室331
11.1设计我们的聊天室331
11.1.1需求分析331
11.1.2模块设计331
11.1.3创建chatroom工程333
11.2设计并开发数据库模块333
11.2.1设计数据库的表结构333
11.2.2设计和开发数据库连接模块334
11.2.3设计和开发数据库处理模块336
11.3 swing界面模块开发338
11.3.1创建Swing类338
11.3.2登录界面340
11.3.3注册界面343
11.3.4聊天界面346
11.4 swing界面模块开发348
11.4.1客户端开发348
11.4.2使用socket发送非阻塞I0流348
11.4.3使用socket接收非阻塞I0流352
11.5服务端开发356
11.5.1非阻塞I0在socket服务器上的应用356
11.5.2服务端程序356
11.6运行效果演示362
11.7本章小结364
第12章 学生信息管理系统365
12.1需求分析与设计365
12.1.1基本需求3
12.1.2模块设计365
12.1.3数据库设计366
12.2界面设计369
12.2.1登录界面的设计369
12.2.2查询界面的设计373
12.2.3新建界面的设计374
12.2.4修改界面和删除界面的设计375
12.3系统模块的开发376
12.3.1学生信息对象376
12.3.2数据库操作模块377
12.3.3登录模块384
12.3.4新建模块385
12.3.5修改模块387
12.3.6删除模块389
12.3.7查询模块390
12.4本章小结401
第13章 MVC模式与项目开发402
13.1 MVC模式概述402
13.1.1 OCP原则与模块分离思想402
13.1.2什么是MVC模式403
13.1.2.1模型层404
13.1.2.2视图层405
13.1.2.3控制器405
13.1.2.4 MVC模型编程综述406
13.1.3 MVC模式的工作流程406
13.1.3.1第一步:设计模型接口407
13.1.3.2第二步:设计视图接口,基本方法同模型接口的设计408
13.1.4为什么要使用MVC模式408
13.1.4.1 MVC的优点408
13.1.4.2 MVC的适用性409
13.2 MVC模型示例代码409
13.2.1开发模型组件409
13.2.2开发视图组件415
13.2.3开发控制器组件418
13.2.4让蛇开始活动(MVC工作流程)420
13.3再论MVC模式421
13.3.1“分离”思想带来的好处422
13.3.2 MVC在代码维护时的优势422
13.3.3 MVC在代码扩展时的优势423
13.3.4 MVC与Java架构设计423
13.4本章小结426
第14章 设计模式与项目开发427
14.1设计模式概述427
14.1.1什么是设计模式427
14.1.2设计模式解决问题的一般途径428
14.1.3为什么要使用设计模式428
14.1.4设计模式的优势429
14.2工厂模式与构造分离429
14.2.1工厂模式概述429
14.2.2分离生产过程与生产动作430
14.2.3工厂模式与连接对象构造431
14.3桥接模式与业务扩展434
14.3.1桥接模式与DIP原则434
14.3.2架在不同解决方案之间的桥梁——桥接模式435
14.3.3桥接模式与业务扩展436
14.3.4使用桥接模式优化数据库连接代码438
14.4观察者模式与拉推数据439
14.4.1饲机而动的观察者439
14.4.2观察者与后继动作441
14.4.3使用观察者模式实现数据动态更新443
14.5 Vistor模式与RTTI445
14.5.1 RTTI的局限性446
14.5.2包容不同类的Vistor模式447
14.5.3使用Vistor模式实现客户关系动态管理448
14.6外观、代理模式与屏蔽细节453
14.6.1什么是外观和代理模式453
14.6.2外观和代理模式的使用场景及其优势454
14.6.3使用外观和代理模式优化数据库通用模块454
14.7单例模式457
14.7.1只允许有一个实例的单例模式457
14.7.2单例模式的语法实现458
14.7.3单例模式的使用案例459
14.8本章小结460
第15章 DAO模式与数据库访问461
15.1 DAO模式与数据库管理架构461
15.1.1什么是DAO设计模式461
15.1.2纵观DAO模式的优势462
15.2 DAO模式应用示例463
15.2.1使用DAO模式连接数据库464
15.2.2在DAO里编写数据库访问逻辑465
15.2.3数据库访问逻辑和业务逻辑的结合体——DAO472
15.2.4编写业务逻辑473
15.2.5 DAO模式与业务变更479
15.3本章小结483
第16章 设计模式的应用485
16.1设计模式与代码优化485
16.1.1学生信息管理系统的需求变更485
16.1.2业务变更与代码重构486
16.2使用设计模式提高代码的弹性487
16.2.1什么是代码的弹性487
16.2.2利用桥接模式改善系统的弹性487
16.3数据库的设计和修改489
16.3.1 User表的设计489
16.3.2 Students_Information表的设计490
16.3.3 Teachers_Information表的设计491
16.4重构系统492
16.4.1桥的一端——数据库连接492
16.4.1.1现有的数据库模块492
16.4.1.2数据库连接接口494
16.4.1.3采用单态模式实现具体的数据库连接动作494
16.4.1.4获得数据库连接的工厂模式497
16.4.2桥的另一端——信息类498
16.4.2.1抽象的信息类Person498
16.4.2.2 Student——Person类的扩展500
16.4.2.3 Teacher——Person的另一个扩展507
16.4.3业务流程的修改514
16.4.3.1登录界面的修改514
16.4.3.2学生信息业务流程的修改518
16.4.3.3教师信息管理的业务流程524
16.4.4设计模式总结524
16.5本章小结525
第17章 基于JSP+Servlet的Web架构526
17.1 Java的Web开发概述526
17.1.1 Web开发里的显示、控制、业务三要素526
17.1.2 Java处理Web应用的基本方式527
17.1.3各司其职的Java Web组件528
17.1.4在Eclipse上引入MyEclipse插件529
17.1.5在Eclipse+MyEclipse环境上配置Web服务器环境530
17.2开发简单的Servlet533
17.2.1 Servlet的生命周期533
17.2.2编写简单的Servlet534
17.2.3编写Servlet的相关配置文件536
17.2.4打包和发布Web应用536
17.2.5在Eclipse集成环境中开发Servlet并发布运行537
17.3开发简单的JSP程序543
17.3.1 JSP的基本语法和工作过程543
17.3.2只让JSP做它擅长的事——论JSP的工作范围544
17.3.3编写JSP的Hello World程序545
17.3.4打包发布JSP的Web应用程序545
17.3.5在Eclipse集成开发环境中编写JSP并运行545
17.4开发JSP+Servlet构架的程序547
17.4.1编写登录表单页面547
17.4.2编写登录成功后的展示页面548
17.4.3编写登录失败后的展示页面548
17.4.4编写负责处理登录逻辑的Servlet类并运行测试549
17.4.5准备数据库以及相关驱动551
17.4.6修改LoginServlet,添加JDBC访问代码552
17.5对JSP+Servlet+JDBC模式的思考553
17.5.1组件“各司其职”带来的好处554
17.5.2 MVC思想及其开发模式的雏形554
17.5.3没有封装业务逻辑的后果554
17.6本章小结555
第18章 基于JavaBean和EJB的Web架构556
18.1组件思想与多层Web架构556
18.1.1为什么要构建多层的Web架构556
18.1.2标准零件般的Java Web组件557
18.1.3实现后台业务逻辑的JavaBean与EJB组件559
18.2使用JavaBean组件560
18.2.1编写负责显示逻辑的JSP代码560
18.2.2编写封装业务逻辑的JavaBean代码561
18.2.3通过DAO模式连接访问数据库564
18.2.4编写数据源的配置文件567
18.2.5在集成环境里发布JSP+JavaBean+数据库的代码568
18.2.6在Web服务器里运行JSP+Javabean+数据库代码569
18.3开发基于JSP+Servlet+EJB+JDBC的Web构架569
18.3.1“大”材“小”用的Javabean与“小”材“大”用的EJB569
18.3.2在集成环境里配置EJB的集成开发环境570
18.3.3EJB的种类及其用途571
18.3.4给Javabean加个“E”——升级现有的Javabean组件之了解EJB的规范572
18.3.5编写负责显示逻辑的JSP代码572
18.3.6编写负责控制逻辑的Servlet代码575
18.3.7编写负责业务逻辑的EJB代码577
18.3.8使用工厂模式规范EJB的初始化过程580
18.3.9通过DAO模式连接访问数据库580
18.3.10编写EJB和Servlet的配置文件581
18.3.11打包发布EJB包582
18.3.12在集成环境里配置和运行EJB程序583
18.4开发会话Bean+实体Bean的综合应用587
18.4.1会话Bean和实体Bean的用途分析587
18.4.2根据外观模式的思想整合会话Bean与实体Bean587
18.4.3编写负责显示逻辑的JSP代码588
18.4.4编写负责控制逻辑的Servlet代码590
18.4.5编写承上启下的会话Bean代码592
18.4.6编写负责业务逻辑的实体Bean代码594
18.4.7编写Servlet和EJB的配置环境597
18.4.8打包发布EJB包601
18.5对EJB组件的思考601
18.5.1用标准化的EJB积木搭建外观统一的J2EE模型601
18.5.2J2EE架构里的MVC模式601
18.5.3从Javabean升级到EJB的启示602
18.5.4为什么J2EE和EJB能满足企业级的开发需求602
18.6本章小结602
第19章 基于J2EE的在线购物系统603
19.1需求分析与设计603
19.1.1在线购物系统需求概述603
19.1.2根据J2EE架构设计模块和流程605
19.1.3数据库设计607
19.1.4配置运行环境611
19.2系统整体架构612
19.2.1前台展现层设计——通过MVC模式实现页面跳转612
19.2.2中间业务层设计——通过DAO使用会话Bean建立业务逻辑624
19.2.3后台数据层设计——通过EJB操作数据库629
19.2.4整体架构图630
19.3公共模块631
19.3.1编写负责显示逻辑的JSP代码631
19.3.2编写控制器层的Servlet和Action类634
19.3.3编写封装业务逻辑的DAO类635
19.3.4编写访问数据库的EJB636
19.4购物车管理模块643
19.4.1编写负责显示逻辑的JSP代码643
19.4.2编写控制器层的Servlet和Action类647
19.5代码发布649
19.5.1编写配置文件649
19.5.2组装EJB组件和Web应用655
19.5.3显示运行效果665
19.6企业级项目中应用EJB的思考667
19.6.1使用EJB可以减轻项目维护的工作量667
19.6.2 EJB里包含的设计模式668
19.6.3重量级和轻量级组件的比较668
19.7本章小结668
第20章 Struts架构与Web应用669
20.1 Struts与MvC思想669
20.1.1从Struts架构里看“架构”的概念669
20.1.2 MVC思想与分层管理的好处671
20.1.3 Struts——“抽”出Web应用里“像”的流程671
20.1.3.1 Struts模型组件671
20.1.3.2 Struts控制组件672
20.1.3.3 Struts模型层672
20.1.3.4 Struts视图组件673
20.1.4可以抽象出Web流程的Struts重要组件说明673
20.1.5配置Struts开发环境673
20.2 Struts的HelloWorld实例675
20.2.1用JSP编写视图端的代码676
20.2.1.1 Struts HTML类标签677
20.2.1.2生成HTML的表单标标签678
20.2.1.3显示错误和消息的标签681
20.2.1.4 Struts的其他标签682
20.2.2编写ActionServlet类682
20.2.3编写ActionForm类684
20.2.4编写Action类686
20.2.5编写ActionMapping类和ActionForward类689
20.2.6编写配置文件689
20.2.6.1配置web.xml文件690
20.2.6.2配置struts-confiig.xml文件691
20.2.7在集成环境上编译与发布Struts代码693
20.2.8效果演示与工作流程概述695
20.3对Struts组件的思考696
20.3.1 Struts的体系结构与Web流程抽象696
20.3.2 Struts与业务逻辑如何耦合697
20.3.3分工不同的Struts与EJB697
20.4 Struts 2.0新特性698
20.4.1 Struts 2.0和Struts 1.X的比较698
20.4.2 Struts 2.0处理请求的流程699
20.4.3 Struts 2.0的示例代码——经典的Hello World700
20.5本章小结704
第21章 Spring架构与Web应用705
21.1 Spring与控制反转思想705
21.1.1用到的时候才去获取的控制反转思想705
21.1.2控制反转与轻量级Web开发708
21.1.3基于控制反转的Spring概述709
21.1.4配置Spring的开发环境710
21.2 Spring的HelloWorld实例714
21.2.1编写服务提供代码714
21.2.2在xml文件里登记各项服务715
21.2.3编写服务调用代码716
21.2.4效果演示与工作流程概述717
21.3 Spring的常用技术717
21.3.1拦截器与AOP编程718
21.3.2在Spring里实现事务管理723
21.3.3数据持久性与ORM思想725
21.4对Spring组件的思考729
21.4.1 Spring组件是对重量级Web组件的颠覆729
21.4.2 Spring组件对轻量级Web开发的启示730
21.4.3指导Web流程的Struts与包含强力工具的Spring组件731
21.5本章小结731
第22章 ORM组件与数据库访问控制732
22.1 ORM组件与数据映射732
22.1.1什么是ORM732
22.1.2为什么要用ORM组件732
22.1.3 ORM组件包含的外观设计模式733
22.1.4配置ORM组件的开发环境734
22.2 Hibernate与数据库开发740
22.2.1数据映射的需求分析740
22.2.2数据映射的实例741
22.2.3编写ORM的客户端代码745
22.2.4效果演示与工作流程概述749
22.3 Hibernate组件入门751
22.3.1Hibernate数据库连接APl751
22.3.2 Hibernate对JDBC的改进753
22.3.3 Hibernate与数据库事务管理753
22.3.4 Hibernate配置文件分析757
22.4对ORM组件的思考760
22.4.1与轻量级Web组件的关系760
22.4.2数据映射与DAO模式761
22.4.3数据映射与数据库分层应用762
22.5本章小结763
第23章 Struts与Spring集成开发764
23.1 Struts与Spring集成概述764
23.1.1 Struts和Spring的固有局限764
23.1.2两者集成后的优势765
23.1.3准备Struts和Spring集成的开发环境765
23.2在Struts中集成Spring769
23.2.1需求描述769
23.2.2基于Struts的实现770
23.2.2.1配置开发环境770
23.2.2.2编写web.xml文件773
23.2.2.3编写环境界面的代码775
23.2.2.4编写Struts里的form类775
23.2.2.5编写Struts里的Action类776
23.2.2.6编写Struts里的struts-config.xml文件777
23.2.2.7把Struts部署到服务器上778
23.2.3基于Spring中的ActionSupport类整合Struts780
23.2.3.1配置开发环境780
23.2.3.2编写web.xml文件781
23.2.3.3编写环境界面的代码782
23.2.3.4编写Struts里的form类783
23.2.3.5编写Struts里的Action类783
23.2.3.6配置和编写Spring里的config.xml相关文件784
23.2.3.7编写Struts里的struts-confiig.xml文件786
23.2.3.8把Struts部署到服务器上787
23.2.4基于Spring中的DelegatingRequestProcessor类整合Struts789
23.2.4.1配置开发环境789
23.2.4.2编写web.xml文件789
23.2.4.3编写环境界面的代码791
23.2.4.4编写Struts里的form类792
23.2.4.5编写Struts里的Action类792
23.2.4.6配置和编写Spring里的config.xml相关文件793
23.2.4.7编写Struts里的struts-config.xml文件795
23.2.4.8把Struts部署到服务器上796
23.2.5基于Spring中的DelegatingActionProxy类整合Struts798
23.2.5.1配置开发环境798
23.2.5.2编写web.xml文件798
23.2.5.3编写环境界面的代码799
23.2.5.4编写Struts里的form类801
23.2.5.5编写Struts里的Action类801
23.2.5.6配置和编写Spring里的config.xml相关文件802
23.2.5.7编写Struts里的struts-config.xml文件804
23.2.5.8把Struts部署到服务器上805
23.3集成后的思考806
23.3.1利用控制反转为代码降耦807
23.3.2 Spring与Struts三种整合方式的对比807
23.4本章小结807
第24章 基于Struts+Spring+Hibernate的在线购物系统809
24.1 EJB迁移到SSH架构的工作要点809
24.1.1配置开发环境809
24.1.2 SSH和EJB的对比814
24.1.3迁移的工作要点分析814
24.2整体架构的改写829
24.2.1前台展现层改写——通过Struts的MVC模式实现页面跳转829
24.2.2中间业务层改写——通过DAO建立业务逻辑832
24.2.3后台数据层改写——通过Hibernate将vo对象保存到数据库833
24.3代码发布835
24.3.1编写配置文件835
24.3.2在集成开发环境里发布项目848
24.3.3显示运行效果854
24.4 SSH架构的思考856
24.4.1轻量级和重量级Web构架的差异857
24.4.2 SSH的适用范围857
24.5本章小结857
第25章 Java的Web Service应用858
25.1 Web Service概述858
25.1.1什么是Web Service858
25.1.2为什么要使用Web Service858
25.1.3 Web Service的特点859
25.2 Web Service协议859
25.2.1 SOAP——简单对象访问协议860
25.2.2 WSDL—— Web服务描述语言862
25.3开发基于Axis2的Web Service应用程序863
25.3.1什么是Axis2863
25.3.2搭建Web Service环境864
25.3.2.1安装Ant环境864
25.3.2.2安装Axis2865
25.3.3第一个Web Service程序866
25.3.3.1服务端的开发866
25.3.3.2客户端的开发871
25.3.4高效的Axiom875
25.3.4.1服务端的开发875
25.3.4.2客户端的开发878
25.4 J2EE架构里的Web Service881
25.4.1在struts架构中使用Web Service881
25.4.1.1创建一个struts项目881
25.4.1.2建立框架882
25.4.1.3编写代码885
25.4.2 EJB中的Web Service894
25.4.2.1 Web Service环境894
25.4.2.2感受EJB中的Web Service895
25.5本章小结896