第0章Java Web开发总览 22
第一部分 29
第1章Java Web开发思想 29
1.1 JavaEE简介 30
1.1.1 JavaEE的发展 30
1.1.2 JavaEE运行模式 31
1.2 JavaEE核心技术 33
1.2.1 JSP(Java服务页面) 33
1.2.2 Servlet 34
1.2.3 EJB(企业JavaBean) 35
1.2.4 JDBC(Java数据库连接) 36
1.2.5 JTA (Java事务) 37
1.2.6 JavaMail(Java邮件服务) 38
1.2.7 JMS (Java消息服务) 38
1.2.8 RMI(远程方法调用) 39
1.2.9 JNDI (Java命名和目录服务) 40
1.2.10 XML(扩展标识语言) 41
1.2.11 JMX (Java分布式管理) 41
1.2.12 JACC (Java容器授权合同) 42
1.2.13 JCA (Java连接器体系) 43
1.3 MVC模式原理 44
1.4 Model规范 45
1.4.1 Model 1规范 46
1.4.2 Model 2规范 46
1.5 Java Web开发所需要的技术 47
1.5.1Ajax 47
1.5.2 MVC框架 50
1.5.3持久层技术 51
1.6 Java Web开发学习路线图 52
1.7小结 52
第2章 搭建Java Web开发和运行环境 53
2.1搭建Java开发环境 54
2.1.1下载并安装JDK 54
2.1.2设定环境变量 57
2.1.3验证JDK环境是否配置成功 58
2.2搭建Java Web运行环境 58
2.2.1下载Tomcat 58
2.2.2设定TOMCAT_HOME 60
2.2.3验证Tomcat是否安装成功 61
2.2.4在Tomcat下创建和发布Web应用 64
2.3搭建Eclipse的开发环境 66
2.3.1下载并配置Eclipse 66
2.3.2整合Eclipse和Tomcat 67
2.4使用Eclipse创建和发布Web应用 71
2.4.1编写能输出HelloWorld的JSP文件 74
2.4.2运行JSP文件 75
2.5小结 75
第3章 搭建数据库开发环境 76
3.1 MySQL概述 77
3.1.1 MySQL简介 77
3.1.2下载并安装MySQL 77
3.1.3下载并安装XAMPP 82
3.1.4配置MySQL的数据库驱动程序 85
3.2使用MySQL数据库 86
3.2.1采用XAMPP管理MySQL数据库 87
3.2.2创建数据库表 88
3.3 SQL语法介绍 89
3.3.1 SQL简介 89
3.3.2 SQL基本语法 90
3.4小结 93
第二部分 95
第4章JavaScript技术详解 95
4.1 JavaScript语言基础 96
4.1.1变量和数据类型 96
4.1.2运算符和表达式 97
4.1.3程序控制语句 100
4.2自定义函数 102
4.2.1函数的定义 102
4.2.2函数的使用 102
4.3系统内部函数 103
4.3.1使用eval返回字符串的值 103
4.3.2使用escape进行字符编码 105
4.3.3使用unescape进行字符解码 106
4.3.4使用parseInt和parseFloat进行数值转换 107
4.3.5使用typeof判断对象类型 108
4.3.6使用isFinite判断一个变量是否有界 109
4.3.7使用isNaN判断一个变量是否是数值 110
4.4系统内部对象 111
4.4.1 Array对象 111
4.4.2 Object对象 112
4.4.3 Window对象 113
4.4.4 Navigator对象 116
4.4.5 Location对象 117
4.4.6 History对象 119
4.4.7 Screen对象 120
4.5 XMLHttpRequest概述 121
4.5.1 XMLHttpRequest的生命周期 121
4.5.2 XMLHttpRequest的方法和属性 127
4.5.3建立XMLHttpRequest对象池 128
4.5.4使用Iframe代替XMLHttpRequest 130
4.6小结 135
第5章JSP技术详解 136
5.1 JSP技术简介 137
5.2 JSP的基本语法 137
5.2.1基本语句 137
5.2.2数据类型 139
5.3 JSP的内置对象 139
5.3.1 request对象 140
5.3.2 response对象 141
5.3.3 pageContext对象 141
5.3.4 session对象 142
5.3.5 application对象 143
5.3.6 out对象 143
5.4 JSP技术应用 144
5.4.1使用JSP操作Cookie 144
5.4.2利用缓存技术提高JSP性能 145
5.5小结 146
第6章Servlet技术详解 147
6.1 Servlet技术简介 148
6.2 Servlet的生命周期 150
6.2.1加载Servlet 150
6.2.2初始化 150
6.2.3处理请求 151
6.2.4服务结束 151
6.3 Filter技术 151
6.3.1 Filter技术原理 151
6.3.2 Filter示例 152
6.4小结 153
第7章JDBC技术详解 154
7.1 JDBC概述 155
7.2 JDBC数据连接 155
7.2.1 JDBC数据连接示例 155
7.2.2典型的JDBC数据连接的步骤 156
7.3事务处理 159
7.3.1事务处理概述 159
7.3.2如何应用事务处理 159
7.4 JDBC技术应用 160
7.4.1如何获取数据库表中的字段名和值 160
7.4.2如何使用JNDI 161
7.4.3如何编写数据库连接池 162
7.5小结 163
第三部分 165
第8章Ajax技术详解 165
8.1 Ajax概述 166
8.1.1Ajax的来源 166
8.1.2Ajax的工作原理 166
8.1.3 Ajax的发展趋势 167
8.1.4 Ajax的应用示例 168
8.2 Ajax技术 169
8.2.1 XMLHttpRequest技术 169
8.2.2 JavaScript(Java脚本语言) 170
8.2.3 DOM(文档对象模型) 172
8.2.4 CSS(层叠样式表单) 173
8.2.5 XML(可扩展标识语言) 174
8.3 Ajax的主流框架 174
8.3.1 Ext 174
8.3.2 Prototype 176
8.3.3 DOJO 177
8.3.4 DWR 178
8.3.5 GWT 179
8.3.6 Buffalo 180
8.3.7 JSON-RPC 181
8.4使用传统的Web方式实现HelloWorld示例 182
8.4.1编写JSP页面myHelloWorldOldjsp 182
8.4.2配置web.xml 183
8.4.3编写Servlet程序HelloWorldOld java 183
8.4.4运行程序并查看输出结果 185
8.5使用Ajax方式实现HelloWorld示例 185
8.5.1编写JSP页面myHelloWorldjsp 185
8.5.2配置web.xml 187
8.5.3编写Servlet程序HelloWorld.java 187
8.5.4运行程序并查看输出结果 189
8.6两种实现方式对比分析 189
8.7小结 189
第9章Struts 2技术详解 190
9.1 Struts 2介绍 191
9.2 Struts 2的环境配置 191
9.2.1下载Struts 2 192
9.2.2搭建Struts 2的开发运行环境 193
9.3 Struts 2入门示例 196
9.3.1编写实现消息输出的HelloWorldjsp页面 197
9.3.2编写控制器HelloWorld java 198
9.3.3配置Struts文档struts.xml和struts.properties 199
9.3.4配置web.xml 200
9.3.5测试运行该示例 201
9.4 Struts 2的核心机制 201
9.4.1 FilterDispatcher处理流程 202
9.4.2 Struts 2的输入校验 205
9.4.3 Struts 2的拦截机制 207
9.4.4 Struts 2的国际化 211
9.4.5 Struts 2的标签库 212
9.5 Struts 2的配置文件 213
9.5.1 struts.properties 213
9.5.2 struts.xml 216
9.6 Struts 2综合示例 218
9.6.1档案管理系统的UML用例图 218
9.6.2档案管理系统功能描述 218
9.6.3描述系统的业务实体 225
9.6.4组织系统的业务逻辑 227
9.6.5档案存放位置实体的实现 228
9.6.6档案基本信息实体的实现 230
9.6.7档案借阅记录实体的实现 233
9.6.8存放位置管理画面 238
9.6.9档案管理画面 239
9.6.10档案借阅记录管理画面 242
9.6.11实现管理存放位置的功能 244
9.6.12实现管理档案的功能 247
9.6.13实现管理档案借阅记录的功能 253
9.6.14实现Struts的登录控制器类 258
9.6.15 编写配置文件 260
9.6.16程序演示 264
9.7小结 267
第10章Spring 2技术详解 268
10.1 Spring概述 269
10.1.1 Spring简介 269
10.1.2 Spring整体框架 269
10.2 Spring的环境配置 270
10.2.1下载Spring 270
10.2.2 搭建Spring的开发运行环境 273
10.3 Spring入门示例 276
10.3.1编写JSP页面HelloWorld.jsp 276
10.3.2编写控制器HelloWorld.java 277
10.3.3配置Spring文档config.xml 279
10.3.4配置web.xml 280
10.3.5测试运行该示例 281
10.4 Spring的核心机制 281
10.4.1控制反转思想 281
10.4.2分发器原理 285
10.5 Spring的多动作控制器 288
10.5.1多动作控制器的原理 289
10.5.2多动作控制器的示例 291
10.6 Spring综合示例 295
10.6.1权限管理系统功能概述 295
10.6.2业务实体设计 298
10.6.3自动生成数据库表结构 303
10.6.4 DAO模型的实现 314
10.6.5业务逻辑功能实现 318
10.6.6编写权限管理系统的JSP页面 322
10.6.7编写 Spring的配置文件confiig.xml 326
10.6.8测试运行该示例 330
10.7小结 334
第11章Hibernate 3技术详解 335
11.1 Hibernate概述 336
11.1.1 Hibernate简介 336
11.1.2 Hibernate整体框架 336
11.2 Hibernate的核心机制 339
11.2.1 Hibernate的核心类 339
11.2.2 Hibernate的主键介绍 340
11.3 Hibernate对JPA的支持 341
11.3.1 JPA简介 341
11.3.2 persistence.xml详细配置 347
11.3.3整合Spring和JPA 347
11.4 Hibernate的配置文件 349
11.4.1 Hibernate的两种配置方式 349
11.4.2配置数据库连接池 350
11.4.3使用JNDI 351
11.5 Hibernate的关系映射 352
11.5.1一对一映射 352
11.5.2一对多和多对一映射 352
11.5.3多对多映射 354
11.6 Hibernate缓存机制 354
11.6.1一级缓存 354
11.6.2二级缓存 355
11.7 Spring和Hibernate整合示例 356
11.7.1图书管理系统功能描述 356
11.7.2 Spring和Hibernate的整合方式 358
11.7.3持久层功能的实现 363
11.7.4实现对读者的管理功能 371
11.7.5实现对图书的管理功能 372
11.7.6实现维护借阅规则的功能 376
11.7.7实现借阅和归还图书的功能 378
11.7.8编写图书管理系统的JSP页面 383
11.7.9编写配置文件confiig.xml 385
11.7.10测试运行该示例 388
11.8小结 392
第四部分 394
第12章Log4j使用指南 394
12.1 Log4j简介 395
12.1.1 Log4j概述 395
12.1.2为什么要使用Log4j 396
12.2建立Log4j的开发环境 396
12.2.1下载Log4j 396
12.2.2配置Log4j 397
12.3 Log4j的使用方法 397
12.3.1 Log4j的基本使用方法 397
12.3.2日志的输出格式 398
12.3.3日志的输出位置 399
12.3.4日志的优先级 400
12.4小结 400
第13章JUnit使用指南 401
13.1为什么要进行单元测试 402
13.2建立JUnit的开发环境 404
13.2.1下载JUnit 404
13.2.2配置JUnit 405
13.3 JUnit的使用方法 405
13.3.1 JUnit的基本使用方法 406
13.3.2在Spring中使用JUnit 408
13.3.3 JUnit与Ant整合 409
13.4小结 410
第14章JFreeChart使用指南 411
14.1 JFreeChart概述 412
14.2搭建JFreeChart的开发环境 412
14.2.1下载JFreeChart 413
14.2.2配置JFreeChart 414
14.3 JFreeChart的使用方法 414
14.3.1 JFreeChart的核心类 414
14.3.2用JFreeChart生成柱状图 415
14.3.3用JFreeChart生成饼图 417
14.4小结 419
第15章Dom4j使用指南 420
15.1 Dom4j简介 421
15.2建立Dom4j的开发环境 421
15.2.1下载Dom4j 421
15.2.2配置Dom4j 423
15.3 Dom4j的使用方法 424
15.3.1 Dom4j的基本使用方法 424
15.3.2 Dom4j使用示例 426
15.4小结 428
第五部分 430
第16章 注册管理系统(JSP+JavaBean) 430
16.1注册管理系统需求描述 431
16.1.1注册功能 431
16.1.2登录功能 431
16.1.3查看注册用户列表功能 432
16.2设计JavaBean 432
16.3数据库设计 438
16.3.1数据库表结构设计与建立 438
16.3.2建立数据库连接辅助类 441
16.4 JSP页面实现 441
16.4.1用户注册管理画面 441
16.4.2登录画面 442
16.4.3查看注册用户列表画面 442
16.5程序演示 443
16.6小结 445
第17章 新闻发布系统(JSP+Servlet+DAO) 446
17.1需求描述 447
17.2功能预览 447
17.2.1设定新闻类别功能 448
17.2.2登录功能 448
17.2.3登录成功后的选择功能 449
17.2.4发布新闻功能 449
17.2.5浏览新闻功能 450
17.3采用JSP+Servlet+DAO+JDBC架构 450
17.3.1设计视图层的架构 451
17.3.2设计控制层的架构 451
17.3.3设计模型层的架构 457
17.3.4设计持久层的架构 458
17.4系统设计 462
17.4.1如何实现对数据库的操作 463
17.4.2如何实现持久层的设计 463
17.4.3如何实现新闻发布系统的业务逻辑 464
17.5数据库设计 465
17.5.1数据库表结构设计与建立 465
17.5.2配置数据库连接 469
17.6 DAO模型的实现 469
17.6.1管理员DAO的实现 470
17.6.2新闻类别DAO的实现 472
17.6.3新闻DAO的实现 474
17.7编写新闻发布系统的业务逻辑类 477
17.7.1管理管理员的业务逻辑实现 478
17.7.2管理新闻类别的业务逻辑实现 480
17.7.3管理新闻的业务逻辑实现 483
17.8编写新闻发布系统的控制器类 487
17.8.1管理员控制器类 487
17.8.2新闻类别管理控制器类 488
17.8.3发布浏览新闻控制器类 490
17.8.4登录控制器类 494
17.9前台页面的实现 495
17.9.1新闻类别管理画面 495
17.9.2发布新闻画面 497
17.9.3登录画面 499
17.9.4登录成功的画面 501
17.9.5浏览新闻画面 502
17.10编写配置文件newsRelease.xml 503
17.11程序演示 504
17.12小结 508
第18章 网上购物系统(Ajax+Struts+Hibernate) 509
18.1系统概述 510
18.2需求分析 510
18.2.1购物者注册功能 511
18.2.2对货物进行分类存放的功能 511
18.2.3维护货物基本信息的功能 511
18.2.4浏览购买货物的功能 512
18.2.5管理购物车的功能 512
18.3系统与架构设计 513
18.3.1 DWR和Struts的整合方式 513
18.3.2搭建开发环境 515
18.3.3后台持久层设计 517
18.3.4后台业务逻辑设计 518
18.4构建数据库表结构 519