上篇Web开发技术 3
第1章 Web开发基础 3
1.1 Java Web应用基础 3
1.1.1 Web应用概述 3
1.1.2 Web应用技术 4
1.1.3 Java Servlet概述 5
1.1.4 JavaBean概述 6
1.1.5 JSP概述 7
1.1.6 XML简介 7
1.2 环境配置 8
1.2.1 安装和测试JDK 8
1.2.2 安装和测试Tomcat 12
1.2.3 安装和测试MySQL 16
1.2.4 安装和使用Eclipse 20
1.3 JSP开发入门 22
1.3.1 第一个JSP程序 22
1.3.2 JSP的技术原理 24
1.3.3 JSP的注释 24
1.3.4 JSP脚本元素 27
1.3.5 JSP指令元素 30
1.3.6 JSP的9大内置对象 33
1.4 Servlet技术入门 44
1.4.1 HTTP请求/响应模型 44
1.4.2 Servlet简介 45
1.4.3 Servlet生命周期 45
1.4.4 简单Servlet实例 46
1.5 JavaBeans开发入门 48
1.5.1 认识JavaBean 49
1.5.2 JavaBean入门实例 49
1.5.3 调用JavaBean 51
1.5.4 设置JavaBean的属性 54
1.5.5 共享JavaBean 55
1.6 JDBC数据库开发入门 56
1.6.1 JDBC简介 57
1.6.2 连接MySQL数据库 57
1.6.3 操作数据库 59
1.6.4 连接其他数据库 60
1.6.5 通用数据库连接实例 61
1.7 MVC设计模式 63
1.7.1 MVC设计模式概述 63
1.7.2 JSPmodel概述 64
1.8 Struts-S pring-Hibernate集成概述 65
1.8.1 框架概述 65
1.8.2 集成策略 66
第2章 Struts基础 67
2.1 Struts基础 67
2.1.1 Struts简介 67
2.1.2 Struts与MVC 67
2.1.3 Struts基本工作流程 68
2.2 配置Struts运行环境 69
2.2.1 配置Tomcat 69
2.2.2 配置Struts 70
2.3 一个简单的Struts应用 71
2.3.1 工作流程 71
2.3.2 建立JSP文件 72
2.3.3 建立ActionForm 72
2.3.4 建立Action 73
2.3.5 配置struts-config.xml 74
2.3.6 配置web.xml 74
2.3.7 发布运行 75
第3章 Struts详解 77
3.1 配置web.xml 77
3.1.1 配置ActionServlet 77
3.1.2 配置欢迎页面 78
3.1.3 配置错误页面的处理 78
3.1.4 配置Struts标记 80
3.2 配置struts-config.xml 81
3.2.1 struts-config.xml中的主要元素 81
3.2.2 配置数据库访问——data-sources元素 82
3.2.3 配置ActionFormBean——form-beans元素 85
3.2.4 配置全局异常处理——global-exceptions元素 86
3.2.5 配置全局转发关系——global-forwards元素 86
3.2.6 配置Action映射——action-mappings元素 87
3.2.7 配置控制类——controller元素 89
3.2.8 配置资源包——message-resources元素 89
3.2.9 配置插件——〈plug-in〉元素 90
3.3 Struts的控制部分 91
3.3.1 Struts的控制机制 91
3.3.2 使用ActionServlet 92
3.3.3 使用RequestProcessor 95
3.3.4 使用Action 96
3.3.5 使用ActionForward 99
3.3.6 使用ActionMapping 99
3.3.7 使用ForwardAction 100
3.3.8 使用DispatchAction 101
3.4 Struts的模型部分 104
3.4.1 模型的概念 104
3.4.2 业务实体模型 105
3.4.3 业务逻辑模型 107
3.5 Struts的视图部分 109
3.5.1 理解视图 109
3.5.2 应用ActionForm 111
3.5.3 动态ActionForm 114
3.6 Struts常用标记库 117
3.7 StrutsHTML标签库 118
3.7.1 StrutsHTML标签简介 118
3.7.2 〈html:html〉标签 118
3.7.3 〈html:base〉标签 119
3.7.4 〈html:link〉标签 119
3.7.5 〈html:img〉标签 120
3.7.6 〈html:form〉标签 121
3.7.7 〈html:text〉标签 121
3.7.8 〈html:password〉标签 122
3.7.9 〈html:textarea〉标签 122
3.7.10 〈html:checkbox〉标签 122
3.7.11 〈html:multibox〉标签 123
3.7.12 〈html:radio〉标签 124
3.7.13 〈html:select〉标签 124
3.7.14 〈html:option〉标签 125
3.7.15 〈html:options〉标签 126
3.7.16 〈html:hidden〉标签 128
3.7.17 〈html:submit〉标签 128
3.7.18 〈html:reset〉标签 129
3.7.19 〈html:file〉标签 129
3.7.20 〈html:errors〉标签 131
3.7.21 〈html:messages〉标签 132
3.8 StrutsBean标签库 133
3.8.1 〈bean:header〉标签 133
3.8.2 〈bean:parameter〉标签 134
3.8.3 〈bean:cookie〉标签 134
3.8.4 〈bean:page〉标签 135
3.8.5 〈bean:include〉标签 135
3.8.6 〈bean:resource〉标签 136
3.8.7 〈bean:struts〉标签 137
3.8.8 〈bean:define〉标签 138
3.8.9 〈bean:size〉标签 139
3.8.10 〈bean:message〉标签 139
3.8.11 〈bean:write〉标签 140
3.9 StrutsLogic标签库 141
3.9.1 〈logic:equal〉标签 141
3.9.2 〈logic:match〉标签 143
3.9.3 〈logic:present〉标签 143
3.9.4 〈logic:messagesPresent〉 144
3.9.5 〈logic:empty〉标签 145
3.9.6 〈logic:iterate〉标签 145
3.9.7 〈logic:forward〉标签 147
3.9.8 〈logic:redirect〉标签 147
3.10 StrutsNested标签库 147
3.11 表单验证及错误处理 149
3.11.1 ActionMessages和ActionMessage 149
3.11.2 表单验证 151
3.11.3 错误处理过程 152
第4章 应用实例——产品信息反馈平台 157
4.1 项目需求分析 157
4.1.1 需求概述 157
4.1.2 需求分析 157
4.2 系统分析和设计 162
4.2.1 数据库分析和设计 162
4.2.2 业务逻辑层设计 164
4.2.3 系统的MVC结构 166
4.3 视图部分的实现——ActionForm 168
4.4 视图部分的实现——JSP文件 170
4.4.1 建立index.jsp 170
4.4.2 建立header.jsp 170
4.4.3 建立menu.jsp 171
4.4.4 JSP文件——footer.jsp 171
4.4.5 建立customerLogin.jsp 171
4.4.6 建立customerRegist.jsp 172
4.4.7 建立customerSuggest.jsp 173
4.4.8 建立customerSuggestionView.jsp 173
4.4.9 建立CustomerViewRevert.jsp 174
4.4.10 建立productManagerLogin.jsp 175
4.4.11 建立productManagerViewSuggestion.jsp 175
4.4.12 建立productManagerRevertSuggestion.jsp 176
4.4.13 建立Contentlndex.jsp 177
4.4.14 建立ContentCustomerLogin.jsp 177
4.4.15 建立ContentCustomerRegist.jsp 178
4.4.16 建立ContentCustomerSuggest.jsp 179
4.4.17 建立ContentCustomerSuggestionView.jsp 180
4.4.18 建立ContentCustomerViewRevert.jsp 181
4.4.19 建立ContentProductManagerLogin.jsp 182
4.4.20 建立ContentProductManagerRevertSuggestion.jsp 182
4.4.21 建立ContentProductManagerViewSuggestion.jsp 184
4.5 控制部分的实现——web.xml 184
4.6 控制部分的实现——struts-config.xml 186
4.7 控制部分的实现——Action 189
4.7.1 建立CustomerLoginAction 189
4.7.2 建立GoCustomerRegist 190
4.7.3 建立CustomerSuggestAction 191
4.7.4 建立CustomerViewSelfSuggestion 192
4.7.5 建立CustomerViewSuggestionAction 192
4.7.6 建立ProductManagerLoginAction 193
4.7.7 建立ProductManagerOperateAction 194
4.7.8 建立LogoutAction 196
4.8 模型部分的实现——JavaBean 196
4.8.1 建立CustomerBean 197
4.8.2 建立ProductBean 197
4.8.3 建立ProductManagerBean 197
4.8.4 建立SuggestionPadBean 198
4.9 模型部分的实现——业务逻辑对象 199
4.9.1 建立UserLoginBean 199
4.9.2 建立CustomerServicelmpl 200
4.9.3 建立ProductManagerServicelmpl 202
4.9.4 建立ProductServicelmpl 202
4.10 系统中存在的问题 204
第5章 Tiles框架 205
5.1 复合页面概述 205
5.2 建立复合页面 206
5.2.1 使用JSP页面包含命令建立 206
5.2.2 利用Tiles标签来建立 208
5.2.3 利用Tiles标签和复合页面模板建立 209
5.2.4 利用Tiles框架来建立 211
5.2.5 Tiles框架和Struts Action结合减少页面数量 212
5.2.6 Tiles框架的扩展 213
5.3 Tiles框架应用实例 213
5.3.1 删除复合页面 214
5.3.2 建立模板页面 214
5.3.3 建立tiles-defs.xml文件 215
5.3.4 修改index.jsp 216
5.3.5 修改web.xml和struts-config.xml文件 216
第6章 国际化 219
6.1 国际化的概念 219
6.2 Struts对于国际化的支持 219
6.2.1 Struts的资源包和资源文件 219
6.2.2 建立资源文件 220
6.2.3 配置资源文件 221
6.2.4 使用资源文件 221
6.3 国际化应用实例 222
6.3.1 建立资源文件 222
6.3.2 配置资源文件 224
6.3.3 修改JSP页面 224
6.3.4 修改配置文件 227
6.3.5 运行测试 227
第7章 异常处理 229
7.1 Java中的异常处理机制 229
7.1.1 Java的异常类 229
7.1.2 捕获异常 230
7.1.3 抛出异常 231
7.2 Web应用的异常处理方法 231
7.2.1 通过JSP页面处理异常 231
7.2.2 配置Web.xml处理异常 232
7.3 Struts异常处理机制 233
7.3.1 概述 233
7.3.2 编程处理异常 234
7.3.3 声明处理异常 235
7.4 应用实例 237
7.4.1 修改Action 237
7.4.2 修改配置文件 238
7.4.3 运行 239
第8章 Validator验证框架 240
8.1 Validator环境配置 240
8.1.1 安装Jar包 240
8.1.2 建立Validator配置文件 240
8.1.3 配置struts-config.xml文件 241
8.1.4 配置资源文件 241
8.2 validator-rules.xml 242
8.2.1 文件结构 242
8.2.2 〈validator〉元素 243
8.3 validation.xml 244
8.3.1 文件结构 244
8.3.2 〈constant〉元素 245
8.3.3 〈form〉元素 246
8.4 Validator验证框架与JavaScript 247
8.4.1 修改JSP页面文件 248
8.4.2 修改sturts-config.xml文件 248
8.5 应用实例 249
8.5.1 准备工作 249
8.5.2 建立validation.xml文件 249
8.5.3 测试验证效果 251
8.5.4 实现客户端验证 252
8.5.5 运行说明 254
第9章 Spring框架基础 255
9.1 Spring框架概述 255
9.2 理解依赖注入(Dependency Injection) 256
9.2.1 依赖注入的概念 256
9.2.2 传统编程方式 256
9.2.3 使用Spring依赖注入 258
9.3 Spring的环境和配置 261
9.3.1 下载、安装Spring框架的Jar包 261
9.3.2 建立applicationContext.xml文件 261
9.3.3 配置WebApplciatonContext 261
9.3.4 Spring和Struts框架结合 262
9.4 一个简单的Spring应用 262
9.4.1 文件组织 262
9.4.2 建立表单类 263
9.4.3 建立数据库验证类 263
9.4.4 建立用户登录验证类 264
9.4.5 建立测试类 265
9.4.6 建立Spring配置文件 266
第10章 Spring中的Bean 267
10.1 Bean的概念 267
10.2 Bean的定义 268
10.2.1 Bean参数配置 268
10.2.2 Bean的属性(property)配置 268
10.3 依赖注入的两种方式 271
10.3.1 设值注入 271
10.3.2 构造函数注入 271
10.3.3 两种注入方式比较 272
10.4 实例化Bean 273
10.4.1 BeanFactory 273
10.4.2 ApplicationContext 274
10.4.3 Bean的实例化 275
第11章 Spring面向切面编程(AOP) 277
11.1 AOP概述 277
11.1.1 AOP的概念 277
11.1.2 AOP的特点 278
11.2 AOP实现原理——静态Proxy的实现 279
11.2.1 登录验证接口及实现 279
11.2.2 用静态Proxy方法增加新功能 279
11.3 动态Proxy的实现 280
11.3.1 建立代理类 280
11.3.2 测试 281
11.4 CGLIB模式 282
11.4.1 CGLIB模式的引入 283
11.4.2 使用CGLIB模式 283
11.5 SpringAOP 284
11.5.1 创建Before通知 285
11.5.2 创建After通知 287
11.5.3 创建Around通知 289
11.5.4 创建Throws通知 290
11.5.5 创建Introduction通知 292
11.5.6 创建切点 294
11.5.7 创建代理 298
第12章 事务管理 299
12.1 概述 299
12.2 事务管理器 301
12.2.1 JDBC事务管理器 301
12.2.2 Hibernate事务管理器 302
12.3 事务属性 302
12.3.1 事务属性介绍 303
12.3.2 传播行为 303
12.3.3 隔离等级 303
12.3.4 只读属性 304
12.3.5 事务超时时间 304
12.4 声明匹配所有方法的事务管理策略 304
12.4.1 默认声明方式 305
12.4.2 指定事务策略声明方式 305
12.5 声明匹配具体方法的事务管理策略 306
12.5.1 指定一个事务性方法 306
12.5.2 指定多个事务性方法 307
12.5.3 使用通配符 307
12.6 在事务代理对象中声明事务 307
第13章 Spring与Struts的集成 309
13.1 集成概述 309
13.2 使用Spring的ActionSupport类集成Struts 310
13.2.1 ActionSupport类 310
13.2.2 初始化WebApplicationContex 311
13.2.3 修改Action 311
13.2.4 在applicationContext.xml文件中装配Bean 313
13.2.5 运行 314
13.3 使用Spring的Action代理集成Struts 316
13.3.1 加载WebApplicationContext 316
13.3.2 修改Action 316
13.3.3 修改struts-config.xml文件 317
13.3.4 配置applicationContext.xml 318
13.3.5 运行 319
13.4 修改RequestProcessor集成Struts 319
13.5 添加事务处理 321
13.5.1 添加事务代理 321
13.5.2 修改ActionBean 323
第14章 Spring和Struts集成实例 324
14.1 系统分析 324
14.1.1 B/S三层结构 324
14.1.2 集成分析 325
14.2 集成实现 326
14.2.1 配置Spring的WebApplicationContext 326
14.2.2 建立自定义的RequestProcessor 327
14.2.3 修改CustomerLoginAction 328
14.2.4 修改ProductManagerLoginAction 328
14.2.5 修改CustomerSuggestAction 329
14.2.6 修改CustomerViewSelfSuggestion 330
14.2.7 修改CustomerViewSuggestionAction 331
14.2.8 修改CustomRegistAction 332
14.2.9 修改GoCustomerRegist 333
14.2.10 修改ProductManagerOperateAction 333
14.2.11 修改struts-config.xml文件 335
14.2.12 配置applicationContext.xml 339
14.2.13 装配数据源 339
14.2.14 装配业务实体 340
14.2.15 装配业务逻辑 340
14.2.16 装配事务处理对象 341
14.2.17 装配处理客户请求的Action 343
14.3 运行 345
第15章 Hibernate概述 347
15.1 实体、关系、对象 347
15.2 实体 347
15.2.1 实体之间的关系 347
15.2.2 实体关系图 348
15.3 关系 348
15.4 对象 349
15.4.1 域对象的种类 349
15.4.2 域对象之间的关系 350
15.5 对象持久化概念 353
15.6 传统持久化方法 354
15.7 ORM概述 357
15.8 Hibernate简介 359
15.8.1 Hibernate的特点 359
15.8.2 Hibernate的核心接口 360
15.8.3 Hibernate的二级缓存 362
15.8.4 Hibernate应用中的Java对象状态 363
15.8.5 Hibernate的配置文件 364
15.8.6 Hibernate初始化过程 367
15.9 一个简单的Hibernate应用 368
15.9.1 Hibernate的运行环境配置 368
15.9.2 建立数据库 368
15.9.3 建立持久化类 369
15.9.4 建立对象-关系映射文件 370
15.9.5 建立Hibernate配置文件 371
15.9.6 建立数据访问类(DAO) 371
15.9.7 建立业务逻辑(Service)类 373
15.9.8 建立测试类 373
第16章 自动化工具 375
16.1 使用HiberClipse 375
16.1.1 安装插件 375
16.1.2 配置HiberClipse 377
16.1.3 使用HiberClipse的步骤 378
16.1.4 自动生成持久化类 380
16.1.5 生成对象-关系映射文件 383
16.2 使用Hibernate Synchronizer 383
16.2.1 安装插件 383
16.2.2 配置“base持久化类”路径 384
16.2.3 配置数据访问类(DAO)的路径 385
16.2.4 自动生成hibernate.cfg.xml 385
16.2.5 自动生成对象-关系映射文件 387
16.2.6 自动生成持久化类 390
16.2.7 自动生成持久化类的父类 390
16.2.8 自动生成的持久化类 392
16.2.9 自动生成数据访问类(DAO) 393
16.2.10 自动生成的DAO类接口 394
16.2.11 自动生成的DAO类的父类 394
16.2.12 自动生成的_RootDAO类 395
16.2.13 自动生成的_BaseRootDAO类 396
16.2.14 自动生成的DAO类 399
16.2.15 自动生成类之间的关系 399
16.2.16 在hibernate.cfg.xml中增加映射关系 400
第17章 对象-关系映射文件 401
17.1 映射文件举例 401
17.2 映射文件的文档类型定义 403
17.2.1 对〈hibernate-mapping〉元素的描述 403
17.2.2 〈hibernate-mapping〉元素的子元素 403
17.2.3 〈hibernate-mapping〉元素的属性 404
17.3 〈meta〉元素 405
17.3.1 〈meta〉元素的作用范围 405
17.3.2 〈meta〉元素的属性 408
17.4 〈class〉元素 409
17.4.1 〈class〉元素的DTD定义 409
17.4.2 〈class〉元素的子元素 409
17.4.3 〈class〉元素的属性 411
17.5 〈id〉元素 411
17.5.1 数据库主键和对象标识符 411
17.5.2 对象标识符生成器 413
17.5.3 increment对象标识符生成器 415
17.5.4 identity对象标识符生成器 417
17.5.5 hilo对象标识符生成器 418
17.5.6 native对象标识符生成器 419
17.6 〈property〉元素 420
第18章 持久化操作 422
18.1 加载持久化对象 422
18.1.1 load()方法 422
18.1.2 延迟检索 424
18.2 保存持久化对象 426
18.3 删除持久化对象 427
18.4 更新持久化对象 428
18.5 检索持久化对象 429
18.5.1 HQL检索方式 429
18.5.2 设定HQL检索条件 431
18.5.3 QBC检索方式 432
18.5.4 设定QBC检索条件 433
18.5.5 本地SQL检索方式 435
第19章 关联关系映射 439
19.1 映射一对多关联关系 439
19.1.1 建立一对多单向关联 439
19.1.2 建立多对—单向关联 444
19.1.3 建立一对多双向关联 446
19.1.4 级联保存和更新 448
19.1.5 级联删除 451
19.1.6 inverse属性 452
19.2 映射一对一关联 455
19.2.1 惟一外键关联 455
19.2.2 主键关联 459
19.3 映射多对多关联 460
19.3.1 映射单向多对多关联 460
19.3.2 映射双向多对多关联 465
第20章 Hibernate与Spring的集成 469
20.1 概述 469
20.2 建立数据库 470
20.3 建立Hibernate配置文件、映射文件 471
20.3.1 配置文件 471
20.3.2 映射文件Customer.hbm.xml 472
20.3.3 映射文件Product.hbm.xml 473
20.3.4 映射文件Suggestionpad.hbm.xml 474
20.4 生成持久化类 475
20.4.1 CustomerBean持久化类 476
20.4.2 ProductBean持久化类 477
20.5 生成DAO类 477
20.5.1 定义DAO类——CustomerDAO 478
20.5.2 定义DAO类——ProductDAO 479
20.6 定义业务逻辑 480
20.6.1 客户操作相关业务逻辑 480
20.6.2 产品操作相关业务逻辑 481
20.7 建立Struts的视图部分 482
20.8 建立Struts的控制部分 482
20.8.1 对struts-config.xml的修改 482
20.8.2 修改CustomerLoginAction 483
20.9 定义Spring配置文件 484
20.10 运行测试 486
第21章 Hibernate与Spring的结合 489
21.1 Spring对Hibernate的支持 489
21.1.1 Hibernate模板类简介 489
21.1.2 HibernateDaoSupport类 491
21.2 应用实例 492
21.2.1 定义DAO类——CustomerDAO 492
21.2.2 定义DAO类——ProductDAO 493
21.2.3 定义Spring配置文件 494
下篇 综合应用实例 497
第22章 网上书店系统(Struts+Hibernate) 497
22.1 系统概述 497
22.1.1 系统预览 497
22.1.2 系统文件结构的说明 497
22.2 系统构架 499
22.2.1 表示层的设计 499
22.2.2 业务逻辑层设计 502
22.2.3 数据库持久层设计 509
22.2.4 数据表结构 518
22.2.5 小结 523
22.3 主页页面 523
22.3.1 页面预览 523
22.3.2 主页Action 524
22.3.3 页面的具体实现 525
22.3.4 页面包含的文件 526
22.3.5 页面的基本框架 527
22.4 用户登录 528
22.4.1 登录状态的显示 528
22.4.2 登录页面 528
22.4.3 登录LoginAction 529
22.4.4 登录的错误处理 531
22.4.5 登录表单LoginForm 531
22.5 用户管理 532
22.5.1 用户注册 532
22.5.2 用户UserAction 534
22.5.3 修改密码页面 536
22.5.4 用户表单UserForm 537
22.6 图书查询 538
22.6.1 按分类查询 539
22.6.2 分类查询结果页面 539
22.6.3 分类查询ViewBookAction 541
22.6.4 分页器的实现 542
22.6.5 模糊查询 545
22.6.6 模糊查询结果页面 546
22.6.7 模糊查询SearchBooksAction 546
22.7 购物车管理 548
22.7.1 购物流程图 548
22.7.2 购物车Cart 549
22.7.3 购物车明细Cartltem 550
22.7.4 加入购物车 551
22.7.5 查看购物车 552
22.7.6 购物车CardAction 554
22.7.7 购物车确认页面 554
22.7.8 发货信息页面 556
22.7.9 订单确认页面 557
22.7.10 订单OrderAction 558
22.7.11 购物车表单CartForm 560
22.7.12 订单表单OrderForm 561
22.8 Struts配置文件清单 562
第23章 在线客服管理系统(Struts+Spring+Hibernate) 564
23.1 项目需求分析 564
23.1.1 需求概述 564
23.1.2 客服管理的系统流程 564
23.1.3 功能模块需求分析 565
23.1.4 用例需求分析 567
23.1.5 员工登录用例 568
23.1.6 建立问题用例 568
23.1.7 解决问题用例 569
23.1.8 转发问题用例 570
23.1.9 查询问题用例 570
23.1.10 处理问题用例 571
23.1.11 客户回访用例 572
23.2 系统分析和设计 572
23.2.1 数据库分析和设计 573
23.2.2 系统分层结构 575
23.2.3 数据访问层 576
23.2.4 系统业务逻辑层 577
23.2.5 系统的MVC结构 578
23.3 视图部分——JSP页面 579
23.3.1 建立模板页面 580
23.3.2 建立tiles-defs.xml 580
23.4 视图部分——建立页面的不变部分 582
23.4.1 建立Banner页面 583
23.4.2 建立菜单导航页面 583
23.4.3 建立版权页面 583
23.5 视图部分——实现国际化 583
23.5.1 资源文件和资源包 583
23.5.2 系统中的资源文件 584
23.6 视图部分——建立页面的可变部分 586
23.6.1 公司员工登录页面 586
23.6.2 客服人员操作页面 586
23.6.3 客服人员建立问题页面 587
23.6.4 客服人员回访客户页面 589
23.6.5 客服人员转发问题页面 590
23.6.6 技术人员操作页面 593
23.6.7 技术人员解决问题页面 594
23.6.8 技术人员转发问题页面 596
23.6.9 客服经理操作页面 597
23.6.10 客服经理查询问题页面 598
23.6.11 客服经理查询问题详细页面 599
23.6.12 客服经理处理问题页面 601
23.6.13 客服经理处理问题详细页面 601
23.7 控制部分——配置web.xml 602
23.8 控制部分——配置struts-config.xml 604
23.9 控制部分——建立Action 607
23.9.1 处理员工登录请求的Action 607
23.9.2 处理客服人员请求的Action 609
23.9.3 处理技术人员操作请求的Action 613
23.9.4 处理客服经理操作请求的Action 616
23.10 用Struts进行错误处理和表单验证 619
23.10.1 错误处理 619
23.10.2 表单验证 621
23.11 模型部分——建立可持久化类 622
23.11.1 客户问题类 623
23.11.2 员工类 625
23.12 模型部分——建立业务逻辑类 626
23.12.1 员工业务逻辑 626
23.12.2 客户问题业务逻辑 628
23.13 模型部分——建立DAO类 630
23.13.1 建立对象-关系映射文件 630
23.13.2 建立DAO类 634
23.14 使用Spring装配各个组件 640
23.14.1 Struts和Spring的集成 640
23.14.2 建立applicationContext.xml 641
23.15 使用Junit进行单元测试 644
23.15.1 测试CustomerQuestionDAO 644
23.15.2 测试CustomerQuestionServicelmpl 646
23.16 系统运行 647
第24章 在线教师测评系统 648
24.1 项目需求分析 648
24.1.1 需求概述 648
24.1.2 功能模块需求分析 648
24.1.3 用例需求分析 649
24.1.4 学生注册用例 650
24.1.5 学生登录用例 651
24.1.6 学生评估用例 651
24.1.7 教师登录用例 653
24.1.8 教师课程管理用例 654
24.1.9 教师建立课程用例 654
24.1.10 教师建立教材用例 655
24.1.11 教师建立章节用例 655
24.1.12 教师建立要点用例 656
24.1.13 教师修改课程用例 656
24.1.14 教师修改教材用例 657
24.1.15 教师修改章节用例 657
24.1.16 教师修改要点用例 658
24.1.17 教师查看评估结果用例 658
24.1.18 管理员登录用例 659
24.1.19 管理员注册教师 659
24.1.20 管理员管理课程和学生 659
24.2 系统分析和设计 660
24.2.1 数据库分析和设计 660
24.2.2 系统分层结构 665
24.2.3 系统数据访问层 666
24.2.4 系统业务逻辑层 667
24.2.5 系统的MVC结构 668
24.3 表示层实现 670
24.3.1 建立模板页面 670
24.3.2 建立tiles-defs.xml 670
24.3.3 建立Banner页面 673
24.3.4 建立导航菜单 673
24.3.5 建立版权页面 675
24.3.6 学生注册 675
24.3.7 学生登录 678
24.3.8 学生评估 680
24.3.9 教师登录 687
24.3.10 教师管理课程 688
24.3.11 建立课程 691
24.3.12 建立教材 695
24.3.13 建立章节 699
24.3.14 建立要点 702
24.3.15 教师浏览课程 704
24.3.16 修改课程 706
24.3.17 修改教材 709
24.3.18 修改章节 713
24.3.19 修改要点 716
24.3.20 教师查看测评 718
24.3.21 管理员登录 726
24.3.22 管理员注册教师 727
24.3.23 管理员管理课程 730
24.3.24 配置web.xml 733
24.3.25 配置struts-config.xml 735
24.4 业务逻辑层的实现 737
24.4.1 学生业务逻辑 737
24.4.2 教师业务逻辑 740
24.4.3 管理员业务逻辑 743
24.4.4 用Spring装配各个组件 744
24.5 数据访问层 752
24.5.1 Hibernate配置文件 753
24.5.2 Student.hbm.xml对象-关系映射文件 753
24.5.3 Teacher.hbm.xml对象-关系映射文件 755
24.5.4 Course.hbm.xml对象-关系映射文件 756
24.5.5 Book.hbm.xml对象-关系映射文件 758
24.5.6 Section.hbm.xml对象-关系映射文件 759
24.5.7 Point.hbm.xml对象-关系映射文件 760
24.5.8 StudentPoint.hbm.xml对象-关系映射文件 761
24.5.9 StudentCourse.hbm.xml对象-关系映射文件 762
24.5.10 学生DAO类 762
24.5.11 教师DAO类 764
24.5.12 课程DAO类 765
24.5.13 教材DAO类 766
24.5.14 章节DAO类 767
24.5.15 要点DAO类 768
24.5.16 StudentPointDAO类 770
24.6 测试运行 772
24.6.1 测试实例 772
24.6.2 运行系统 773