第1篇 Java EE基础 2
第1章 Java Web应用开发简介 2
1.1 Java Web应用概述 2
Java EE概念 2
Java EE的4层模型 2
Java EE组件介绍 3
Java EE结构 4
Web服务器和应用服务器 6
1.2 MVC模式概述 6
MVC设计模式简介 7
MVC的各层定义 7
MVC处理过程 8
MVC的适用范围 8
JSP Model简介 8
1.3对象持久化概述 9
对象持久化和对象关系映射ORM技术 10
Hibernate简介 11
1.4常用框架概述 12
Struts 2框架简介 12
Spring框架简介 14
1.5本章小结 15
第2章 建立开发平台 16
2.1搭建开发环境 16
安装JDK 16
安装Tomcat 17
设置环境变量 18
获取Eclipse平台所需组件 19
整合获取到的组件 19
配置Eclipse平台 21
2.2开发一个简单的Java Web实例 23
创建Web Project 23
运行JavaWebTest工程 24
2.3本章小结 26
第3章 Hibernate起航 27
3.1建立Hibernate开发环境 27
下载Hibernate 27
下载MySQL 27
安装MySQL 29
配置MySQL 30
验证MySQL的安装 32
下载MySQL驱动 33
下载和安装SQLyog 33
3.2准备实现Hibernate实例 34
设置用户库 34
设置构建路径 36
创建项目 36
创建数据库及设计数据表 38
3.3实现Hibernate实例 39
建立可持久化类 40
创建映射文件 42
创建配置文件 42
创建测试类 44
运行 44
3.4本章小结 45
第4章 Hibernate高级技术 46
4.1 Hibernate核心接口 46
4.2 Hibernate的配置文件应用 47
配置文件中的映射元素 47
组件应用的方法 48
Hibernate的基本配置 48
对象标识符号 50
Hibernate映射类型 50
4.3 Hibernate数据映射 51
一对一映射 51
多对一映射 52
4.4 Hibernate检索方式 53
4.5本章小结 54
第5章 Java EE基础知识示例解析 55
5.1 JSP示例 55
JSP示例解析 55
会话状态管理 57
引用JavaBean组件 59
5.2 Servlet示例 61
5.3 JDBC示例 62
建立数据库及表 63
使用JDBC操作数据库 63
运行例程 65
5.4本章小结 66
第6章 初识Struts 2框架 67
6.1运行用户注册登录系统 67
从Apache官方网站下载Struts 2 67
建立应用Struts 2框架的Web工程 68
建立工程所需用到的数据库 71
部署与运行Web工程 71
编写第1个“Hello您好”页面验证环境 72
6.2系统功能预览 74
6.3需求分析 74
6.4系统设计 75
设计MVC模块 75
设计数据库 76
6.5创建视图组件 77
创建Struts 2标签视图 77
创建Freemaker模板视图 80
6.6创建模型组件 81
6.7创建控制器组件 83
在struts.xml里配置Action映射 83
创建UserAction控制类 84
6.8添加验证 85
6.9添加拦截器 87
6.10本章小结 91
第7章 Struts 2与Ajax 92
7.1运行用户注册登录系统 92
建立应用Struts 2框架的Web工程 92
建立工程所需用到的数据库 93
运行Web工程 93
7.2系统重构功能预览 95
7.3增加注册时验证用户名是否已被注册功能 96
7.4增加登录时对用户名的自动提示功能 97
使用JSON-plugin工具生成JSON格式 97
使用AutoCompleter标签 99
7.5本章小结 100
第8章 JSF框架 101
8.1运行学生管理系统 101
建立应用JSF框架的Web工程 101
运行Web工程 102
8.2系统功能预览 103
8.3需求分析 105
8.4实现各个组件 105
实现视图组件 106
实现模型组件 109
实现导航组件 112
设置配置文件 113
创建视图响应事件 114
8.5使用MyEclipse提高JSF开发效率 116
为Web工程添加JSF 116
视图配置face-config.xml 117
8.6本章小结 118
第9章 Spring应用 119
9.1搭建Spring开发环境 119
下载Spring 119
Eclipse插件Spring IDE的下载与安装 119
9.2实现Spring实例 121
创建项目 121
创建Spring配置文件 123
创建类 124
添加测试类 125
9.3实现Spring连接数据库 126
创建数据库 126
创建项目 126
运行测试 129
9.4本章小结 129
第10章Spring进阶 130
10.1 Spring IoC和AOP 130
IoC容器 130
AOP(面向方面编程) 131
10.2 Spring对各种服务提供的支持 131
10.3 Spring的视图集成技术 132
10.4 Spring进阶实例 133
创建工程 133
添加验证规则 134
创建数据表 135
创建持久化类 136
配置Spring 138
创建DAO 139
创建Action 141
运行测试 142
10.5本章小结 144
第2篇 开发工具 146
第11章 版本控制工具CVS的应用 146
11.1安装及配置CVSNT 146
获取与安装CVSNT 146
配置CVSNT 147
11.2创建CVS代码仓库(Repository) 148
11.3配置CVS账号 149
11.4配置Eclipse自带的CVS客户端 150
CVS客户端配置过程 150
常见问题解决 150
11.5 CVS的基本操作 151
通过CVS共享项目 151
从CVS中检出项目 153
提交更改的项目 154
冲突及其解决 154
11.6本地历史记录 156
11.7本章小结 157
第12章 Java EE下的单元测试 158
12.1创建JUnit单元测试实例 158
创建JUnitTestProj ect工程 158
创建JUnit单元测试用例 160
运行JUnit单元测试 161
调试JUnit单元测试 164
创建并运行JUnit测试套件 166
12.2创建EasyMock模拟对象实例 167
Mock对象原理 167
EasyMock对象类库 167
为Struts 2类添加单元测试代码 168
12.3 DBUnit框架 170
DBUnit原理 170
DAO测试中的脏数据 171
为DAO类添加单元测试代码 172
12.4本章小结 174
第13章 项目管理Maven 175
13.1 Maven对项目管理的帮助 175
Maven生命周期介绍 175
Maven仓库介绍 176
Maven类库管理介绍 177
13.2安装Maven与Eclipse插件 177
Maven安装简介 177
M2Eclipse插件简介 178
使用M2Eclipse插件 179
13.3运行Maven的第1个项目 181
Maven下载Tutorial工程 181
Maven创建Eclipse工程文件 183
在项目中运行Maven 184
13.4提高速度搭建私服 186
13.5本章小结 188
第3篇 项目案例 190
第14章 科研信息发布平台(JSP+Servlet) 190
14.1系统概述 190
14.2需求分析 192
14.3系统功能预览 192
用户浏览功能 193
管理员登录 194
管理新闻 195
管理在研项目信息 196
管理老师信息 199
管理学生信息 201
管理信息发布平台的管理员信息 201
14.4系统分析 202
系统功能模块划分 202
系统流程分析 203
14.5系统设计 204
数据库结构设计与实现 204
目录和包结构 207
定义 DataProcess 207
14.6创建数据层对象 210
创建分页类Pageable 210
创建新闻实体类News 213
创建新闻的数据访问类News_Manager 215
创建项目实体类Project 217
创建项目的数据访问类Project_Manager 218
创建教师实体类Teacher 221
创建教师的数据访问类Teacher_Manager 222
创建学生实体类Student 226
创建Student_Manage类 227
创建管理员实体类Manager 230
创建管理员的数据访问类Admin_Manage 231
14.7功能实现 234
配置本系统使用到的Servlet 234
管理员登录LoginServlet 237
添加管理员AddManagerServlet 238
修改管理员信息EditManagerServlet 238
添加新闻AddNewServlet 239
编辑新闻EditNewsServlet 240
添加在研项目AddProjectServlet 240
编辑在研项目信息EditProjectServlet 241
添加学生AddStudentServlet 242
编辑学生信息EditStudent 242
添加教师信息AddTeacherServlet 243
编辑教师信息EditTeacherServlet 244
14.8实现自定义标签 244
配置自定义标签 244
创建标签类NewsTag4guest 246
创建标签类News4news 247
创建标签类NewsTag 249
14.9前台页面的实现 251
平台首页的实现 251
新闻浏览页的实现 253
在研项目页的实现 255
教师信息浏览页的实现 255
学生信息浏览页的实现 258
14.10后台管理页面的实现 258
后台登录的实现 258
后台首页的实现 260
查看新闻页面的实现 263
添加新闻页面的实现 264
删除新闻页面的实现 266
编辑新闻页面的实现 267
14.11运行工程 268
开发平台 269
创建工程 269
运行工程 270
14.12本章小结 271
第15章 公告管理系统(Struts2) 272
15.1系统概述 272
15.2需求分析 272
数据流图 273
UML用例图 273
15.3系统功能预览 274
后台功能展示 274
前台功能展示 279
15.4系统设计 286
系统业务实体设计 286
数据库设计 286
15.5设计自定义标签 287
定义标签处理方法类PagingTag 288
定义标签库描述(TLD)文件mytag.tld 290
配置web.xml文件 290
分页辅助类文件 291
15.6系统实现前瞻 292
15.7管理员登录功能 292
实现管理员登录功能的组件 292
视图组件adminlogin.jsp 293
视图组件中所包含的公有文件 294
模型组件User.java 295
控制器组件AdminLoginAction.java 297
本部分程序中用到的辅助类方法 298
15.8浏览所有用户功能 299
控制器组件UserManagerAction.java 300
视图组件userlist.jsp 300
本部分程序中用到的辅助类方法 302
15.9新建用户功能 303
实现新建用户功能的各个组件 303
控制器组件AuthenticationInterceptor.java 304
视图组件newUser.jsp 305
模型组件User.java 306
控制器组件UserManagerAction.java 308
本部分程序中用到的辅助类方法 309
15.10编辑用户功能 310
实现编辑用户功能的各个组件 310
控制器组件AuthenticationInterceptor.java 311
视图组件useredit.jsp 312
模型组件User.java 313
控制器组件UserEditAction.java 316
本部分程序中用到的辅助类方法 316
15.11删除用户功能 317
控制器组件AuthenticationIntercep.java 317
控制器组件UserManagerAction.java 318
本部分程序中用到的辅助类方法 318
15.12模糊查找用户功能 320
控制器组件UserSearchAction.java 320
本部分程序中用到的辅助类方法 320
15.13管理员注销登录功能 322
15.14用户登录功能 323
实现用户登录功能的组件 323
视图组件userlogin.jsp 323
模型组件User.java 324
控制器组件UserLoginAction.java 327
本部分程序中用到的辅助类方法 328
15.15 浏览公告功能 329
控制器组件NoticeManagerAction.java 329
视图组件noticelist.jsp 331
本部分程序中用到的辅助类方法 331
15.16撰写公告功能 333
实现撰写公告功能的各个组件 333
控制器组件AuthenticationInterceptor.java 334
视图组件newnotice.jsp 334
模型组件Notice.java 335
控制器组件NoticeManagerAction.java 337
本部分程序中用到的辅助类方法 340
15.17编辑公告功能 341
实现编辑公告功能的各个组件 341
控制器组件NoticeManagerAction.java 342
视图组件noticemodify.jsp 342
模型组件Notice.java 343
本部分程序中用到的辅助类方法 345
15.18删除公告功能 346
控制器组件NoticeManagerAction.java 346
本部分程序中用到的辅助类方法 347
15.19用户注销登录功能 348
15.20运行工程 349
开发平台 349
创建工程 349
运行工程 351
15.21本章小结 352
第16章 学生课程及成绩管理系统(JSF+Hibernate) 353
16.1系统概述 353
16.2需求分析 354
16.3系统功能预览 354
用户登录功能 354
管理员登录后的选择功能 355
管理员管理学生信息的功能 355
管理员管理教师信息的功能 357
管理员管理课程的功能 358
管理员管理班级的功能 360
学生用户登录后的选择功能 361
学生选修课程的功能 361
学生查看成绩的功能 362
学生更新个人信息的功能 362
教师用户登录后的选择功能 363
教师选择学生功能 363
教师录入学生成绩的功能 364
16.4系统分析 364
系统功能模块划分 364
系统流程分析 365
16.5系统设计 367
数据库逻辑结构设计 367
创建数据库 368
创建表的脚本文件 370
目录和包结构 371
定义HibernateUtil 372
定义SetCharacterEncoding-Filter 375
数据层设计 376
16.6页面设计及实现 377
登录页面 377
管理员管理首页 380
管理员管理学生页面 380
管理员管理教师页面 388
管理员管理课程页面 389
管理员管理班级页面 391
学生选课页面 392
学生查看成绩页面 392
教师选择学生页面 393
教师公布成绩页面 394
16.7数据层代码实现 394
创建对象/关系映射文件 395
创建持久化类 399
创建实现DAO模式的公用部分 408
16.8功能代码实现概述 411
16.9登录功能 411
登录功能的逻辑设计 411
配置JSF 412
登录功能 412
16.10管理员管理学生功能 415
登录功能的逻辑设计 416
配置JSF 416
创建模型StudentBean 417
创建学生的数据访问对象StudentDAOImp 419
查看学生列表功能 421
添加学生功能 421
删除学生功能 422
编辑学生信息功能 423
16.11管理员管理教师功能 424
登录功能的逻辑设计 425
配置JSF 425
创建模型TeacherBean 426
创建教师的数据访问对象TeacherDAOImp 427
查看教师列表功能 429
添加教师功能 429
删除教师功能 430
编辑教师信息功能 431
16.12管理员管理课程 432
登录功能的逻辑设计 432
配置JSF 432
创建模型CourseBean 433
创建课程的数据访问对象CourseDAOImp 434
查看课程列表功能 436
添加课程功能 437
删除课程功能 437
编辑课程信息功能 438
16.13管理员管理班级 439
登录功能的逻辑设计 439
配置JSF 440
创建模型ClassesBean 440
创建班级的数据访问对象ClassesDAOImp 442
查看班级列表功能 443
添加班级功能 444
删除班级功能 445
编辑班级信息功能 446
16.14运行工程 447
开发平台 448
创建工程 448
运行工程 451
16.15本章小结 453
第17章 个性化定制系统(Ajax+Spring+Hibernate) 454
17.1 Ajax技术简介 454
什么是Ajax 454
为什么使用Ajax 454
如何使用Ajax 456
17.2系统概述 456
17.3需求分析 457
17.4系统功能预览 457
隐藏或显示页面左侧列表 457
定制列表内容 458
动态的下拉列表 458
向页面右侧添加“小窗口” 459
删除页面右侧的“小窗口” 459
编辑“小窗口” 459
页面右侧“小窗口”的拖动效果 460
17.5系统设计 460
数据库结构设计与实现 460
目录和包结构 462
数据层设计 463
创建AppContext类 465
17.6创建持久化类和映射文件 465
Subject的持久化类及映射文件 466
UserOrderInfo的持久化类及映射文件 468
TbUserInfo的持久化类及映射文件 470
17.7创建数据访问对象DAO类 470
创建分类科目的数据访问对象Subj ectDAO 471
创建用户信息的数据访问对象TbUserInfoDAO 472
创建用户定制信息的数据访问对象UserOrderInfoDAO 474
17.8创建Service类 477
创建SubjectService 477
创建UserOrderInfoService 479
创建TbUserInfoService 480
17.9实现定制功能 482
创建定制页面order jsp 482
显示可定制的科目列表 483
创建SaveOrderedSubject 484
在web.xml中进行配置 485
17.10为实现浏览页面的功能做准备 486
“小窗口”的结构 486
定义样式表 487
页面的结构 489
17.11 Ajax实现动态功能 490
Ajax引擎的实现 490
与Ajax引擎交互的服务器端程序GetSubjectServlet 491
分析服务器端返回的信息 492
显示页面右侧的“小窗口” 493
页面左侧的下拉列表 495
修改“小窗口”的显示数量 496
删除“小窗口” 498
17.12拖动“小窗口 499
17.13运行工程 502
开发平台 502
创建工程 502
运行工程 504
17.14本章小结 505
第18章 网上书店(Struts2+Hibemate) 506
18.1系统概述 506
18.2需求分析 506
需求概述 507
用例图 507
数据流图 508
18.3系统功能预览 508
18.4系统设计 513
系统架构设计 513
业务实体设计 513
设计域模型 514
设计数据模型 515
创建对象/关系映射文件 519
18.5系统首页设计 524
公有文件 524
取出首页用到的数据 526
用到的JavaScript方法 526
用户信息版块 527
订购信息版块 529
新书推荐版块 529
页面效果 531
18.6管理员管理图书设计 531
管理员菜单权限控制 531
新增图书 532
修改图书 533
删除图书 534
浏览所有图书 535
页面效果 536
18.7购物车设计 537
图书放进购物车 537
显示购物车 538
付款并生成订单 538
显示订单 539
页面效果 540
18.8运行工程 540
开发平台 540
创建工程 540
运行工程 544
18.9本章小结 545
第19章 Ajax网上聊天系统(Struts2+Spring+Hibernate) 547
19.1系统概述 547
19.2需求分析 548
需求概述 548
用例图 548
19.3系统功能预览 549
用户功能预览 549
管理员功能预览 552
19.4系统设计 554
系统架构设计 554
业务实体设计 554
设计域模型 554
设计数据模型 554
创建对象/关系映射文件 557
创建Spring配置文件 559
19.5网上聊天模块 562
网上聊天模块总览 562
聊天室视图chatroom.jsp 563
Ajax组件 564
保存消息控制器MessageAction.java 566
显示消息列表控制器ChatViewAction.java 568
服务层ImessageService接口 569
数据持久层MessageDaoImpl类 570
19.6用户模块 571
用户模块总览 571
视图组件registration.jsp 572
控制器组件UserManageAction.java 573
服务层IUserService接口 575
数据持久层UserDaoImpl类 576
19.7房间模块 577
房间模块总览 577
新增临时房间视图mbroomadd.jsp 578
新建临时房间控制器RoomEnterAction.java 578
服务层IRoomService接口 580
数据持久层RoomDaoImpl类 581
19.8运行工程 582
开发平台 582
创建工程 582
运行工程 586
19.9本章小结 588