第1篇 起步篇 18
第1章 Java Web概述 18
1.1 初识Java Web 19
1.1.1 概述 19
1.1.2 Java语言的主要特点 19
1.1.3 Java Web 20
1.1.4 Java Web成功案例 20
1.2 Web应用技术 21
1.2.1 客户端应用技术 21
1.2.2 服务器端应用技术 23
1.3 Web应用程序的工作原理 23
1.4 网络程序开发体系结构 24
1.4.1 C/S结构 24
1.4.2 B/S结构 25
1.4.3 B/S与C/S的区别 25
1.5 Java Web网站的基本构建流程 26
1.6 常用网上资源 26
1.6.1 常用资源下载网 26
1.6.2 技术社区 27
1.7 本章小结 27
第2章 搭建开发环境 28
2.1 Java Web开发环境概述 29
2.1.1 开发工具包JDK 29
2.1.2 Web服务器 29
2.1.3 数据库 30
2.1.4 Web浏览器 30
2.2 JDK 30
2.2.1 下载JDK 30
2.2.2 安装JDK 32
2.2.3 配置和测试JDK 33
2.3 安装和配置Tomcat 34
2.3.1 获取Tomcat 34
2.3.2 熟悉Tomcat 35
2.4 Eclipse 36
2.4.1 获取Eclipse 36
2.4.2 运行Eclipse 37
2.4.3 打造中文版Eclipse 37
2.5 做好项目开发的准备工作 38
2.5.1 集成Eclipse与Tomcat 39
2.5.2 完善Web项目开发所需配置 40
2.6 本章小结 40
第3章 数据库基础 41
3.1 初识SQL Server数据库 42
3.1.1 安装SQL Server数据库 42
3.1.2 安装SQL Server SP4补丁 44
3.1.3 创建数据库 45
3.1.4 创建数据表 46
3.2 初识MySQL数据库 47
3.2.1 安装并配置MySQL 47
3.2.2 安装MySQL GUI Tool 49
3.2.3 连接MySQL Administrator 50
3.2.4 创建数据库 51
3.2.5 创建数据表 51
3.2.6 编辑数据表中的数据 51
3.3 本章小结 52
第4章 Java语言基础 53
4.1 面向对象程序设计 54
4.1.1 类和对象 54
4.1.2 定义类 54
4.1.3 定义成员方法 55
4.1.4 定义成员变量与局部变量 56
4.1.5 使用构造方法 57
4.1.6 创建与使用Java对象 58
4.1.7 使用包 59
4.2 数据类型 60
4.2.1 基本数据类型 60
4.2.2 类型之间的转换 60
4.3 常量与变量 61
4.3.1 定义常量 61
4.3.2 定义变量 62
4.4 运算符的应用 62
4.4.1 赋值运算符 62
4.4.2 算术运算符 62
4.4.3 比较运算符 63
4.4.4 逻辑运算符 64
4.4.5 位运算符 64
4.4.6 条件运算符 66
4.4.7 自增自减运算符 66
4.4.8 运算符的优先级 67
4.4.9 情景应用:简单的加密操作 67
4.5 流程控制语句 68
4.5.1 分支语句 68
4.5.2 循环语句 71
4.5.3 合理使用循环语句 74
4.5.4 使用break和continue语句实现程序跳转 74
4.5.5 情景应用:判断数的奇偶性 75
4.6 字符串处理 75
4.6.1 创建字符串对象 76
4.6.2 连接字符串 76
4.6.3 判断字符串对象是否相等 77
4.6.4 字符串替换 78
4.6.5 获取子字符串 78
4.6.6 将字符串转换为数值类型 79
4.6.7 情景应用:格式化当前日期 79
4.7 创建并使用数组 80
4.7.1 数组及其应用 81
4.7.2 创建及遍历一维数组 81
4.7.3 创建及遍历二维数组 82
4.8 应用集合类 82
4.8.1 ArrayList类 83
4.8.2 Vector类 84
4.9 实战练习 85
4.9.1 判断某年是否是闰年 85
4.9.2 在控制台输出杨辉三角形 86
4.10 本章小结 86
第5章 JavaScript语言 87
5.1 初识JavaScript 88
5.1.1 JavaScript功能 88
5.1.2 在Web页面中引入JavaScript 89
5.1.3 解决浏览器不能执行JavaScript的问题 90
5.2 JavaScript语言基础 92
5.2.1 变量 92
5.2.2 数据类型 92
5.2.3 应用运算符 94
5.2.4 流程控制语句 96
5.3 使用函数 99
5.3.1 定义函数 99
5.3.2 调用函数 100
5.4 事件处理 100
5.4.1 事件 100
5.4.2 指定事件处理程序的方法 101
5.5 DOM常用技术 102
5.5.1 文档的层次结构 103
5.5.2 情景应用:遍历文档树 103
5.6 与DHTML相对应的DOM 105
5.6.1 innerHTML和innerText属性 106
5.6.2 outerHTML和outerText属性 106
5.7 窗口对象 107
5.7.1 有效利用资源——控制状态栏文本 107
5.7.2 打开新的浏览器窗口 108
5.7.3 情景应用:关闭浏览器窗口 109
5.8 使用Date对象 109
5.9 实战练习 111
5.9.1 验证电话号码是否正确 111
5.9.2 将小写金额转换为大写金额 112
5.10 本章小结 112
第6章 初识XML 113
6.1 XML介绍 114
6.1.1 XML文档结构 114
6.1.2 XML语法 115
6.1.3 XML声明 115
6.1.4 元素 115
6.1.5 属性 116
6.1.6 注释 116
6.1.7 字符和实体引用 116
6.2 XML的两种语法规则 117
6.2.1 DTD文档类型定义 117
6.2.2 Schema文档规则 121
6.3 XML的3种显示格式 121
6.3.1 CSS样式表 122
6.3.2 XSL样式语言 122
6.3.3 XML数据岛技术 122
6.3.4 情景应用一:使用CSS显示XML文档内容 122
6.3.5 情景应用二:使用XSL显示XML文档内容 123
6.3.6 情景应用三:应用XML数据岛技术显示XML文档内容 125
6.4 实战练习 126
6.4.1 组合运用XML与CSS 126
6.4.2 组合运用XML与XSL 126
6.5 本章小结 127
第7章 JSP语法 128
7.1 JSP概述 129
7.2 使用JSP指令标识 130
7.2.1 使用页面指令page 130
7.2.2 使用文件包含指令include 132
7.2.3 使用引用标签库指令taglib 133
7.2.4 情景应用:应用include指令包含其他页面 133
7.3 使用JSP脚本 134
7.3.1 在JSP中应用代码片段 134
7.3.2 使用JSP表达式 135
7.3.3 使用声明标识 136
7.3.4 情景应用:应用JSP声明实现访问统计 136
7.4 注释 137
7.4.1 基本HTML注释 137
7.4.2 隐藏注释 137
7.4.3 代码片段中的注释 138
7.5 常用JSP动作标识 138
7.5.1 使用包含动作标识 <jsp:include> 139
7.5.2 使用请求转发的动作标识<isp:forward> 141
7.5.3 使用子动作标识<jsp:param> 142
7.5.4 使用动作标识<isp:useBean> 143
7.5.5 使用动作标识<jsp:getProperty> 148
7.5.6 使用动作标识<jsp:setProperty> 149
7.5.7 情景应用:应用JavaBean保存图片信息 150
7.6 实战练习 153
7.6.1 应用Java程序片段动态生成表格 153
7.6.2 将页面转发到用户登录页面 154
7.6.3 在同一页面中提交多个表单 155
7.7 本章小结 155
第2篇 核心篇 158
第8章 JSP内置对象 158
8.1 JSP内置对象概述 159
8.1.1 内置对象的作用 159
8.1.2 内置对象及其应用场合 159
8.2 request请求对象 160
8.2.1 获取请求参数 160
8.2.2 解决中文乱码问题 161
8.2.3 获取客户端数据 162
8.2.4 应用request对象域 163
8.3 response响应对象 164
8.3.1 操作HTTP头信息 165
8.3.2 设置MIME类型 165
8.3.3 实现页面重定向 165
8.4 out输出对象 166
8.4.1 向客户端输出数据 167
8.4.2 管理缓冲区 167
8.5 session会话对象 168
8.5.1 session的生命周期 168
8.5.2 创建与获取会话 168
8.5.3 移除对话中的数据 169
8.5.4 设置会话的有效时间 169
8.5.5 情景应用:应用session对象模拟用户登录 170
8.6 应用application对象 171
8.6.1 application对象的生命周期 171
8.6.2 操作application对象中数据 171
8.6.3 配置Web应用的初始化参数 172
8.6.4 情景应用:实现网页计数器 173
8.7 其他内置对象 174
8.7.1 应答与请求的page对象 174
8.7.2 页面上下文的pageContext对象 174
8.7.3 获取web.xml配置信息的config对象 174
8.7.4 获取异常信息的exception对象 175
8.8 实战练习 175
8.8.1 通过application对象实现网站计数器 175
8.8.2 统计用户在站点的停留时间 176
8.9 本章小结 176
第9章 JavaBean技术 177
9.1 JavaBean概述 178
9.1.1 JavaBean产生背景 178
9.1.2 JavaBean的作用 178
9.1.3 JavaBean的规范 178
9.1.4 Eclipse对JavaBean方法的支持 179
9.2 JavaBean的属性 180
9.2.1 Simple属性 180
9.2.2 Indexed属性 181
9.2.3 Bound属性 181
9.2.4 Constrained属性 182
9.3 JavaBean与JSP的完美结合 182
9.3.1 更加对象化的JSP开发 182
9.3.2 应用<jsp:useBean>标识 184
9.3.3 应用<jsp:getProperty>标识 185
9.3.4 应用<jsp:setProperty>标识 187
9.3.5 情景应用:应用JavaBean录入档案 188
9.4 实战练习 190
9.4.1 判断用户名是否有效 190
9.4.2 计算两个日期相差的天数 191
9.5 本章小结 191
第10章 Servlet技术 192
10.1 Servlet技术 193
10.1.1 Servlet概述 193
10.1.2 Servlet功能 193
10.1.3 Servlet特点 194
10.1.4 Servlet的生命周期 194
10.2 Servlet技术开发 195
10.2.1 Servlet在Java EE中的结构体系 195
10.2.2 Servlet核心API 195
10.2.3 创建第1个Servlet类 196
10.2.4 解析Servlet配置 198
10.2.5 使用Servlet处理业务逻辑 198
10.2.6 Servlet处理流程 200
10.2.7 使用Eclipse快速创建Servlet 200
10.3 Servlet的典型应用 202
10.3.1 处理表单数据 202
10.3.2 页面转发 206
10.3.3 获取当前页的绝对路径 207
10.3.4 操作Cookie 207
10.3.5 情景应用:利用JavaBean由Servlet向JSP传递数据 209
10.4 配置并使用Servlet过滤器 210
10.4.1 过滤器的处理方式 211
10.4.2 过滤器的核心对象 211
10.4.3 创建并配置过滤器 212
10.4.4 字符编码过滤器 215
10.4.5 情景应用一:验证用户身份 219
10.4.6 情景应用二:统计网站流量 221
10.4.7 情景应用三:过滤敏感字符 222
10.5 Servlet监听器 223
10.5.1 Servlet监听器简介 223
10.5.2 Servlet监听器的工作原理 223
10.5.3 监听Servlet上下文 224
10.5.4 监听HTTP会话 224
10.5.5 监听Servlet请求 225
10.5.6 情景应用一:使用监听器查看在线用户 225
10.5.7 情景应用二:利用监听器使服务器端免登录 228
10.6 实战练习 229
10.6.1 记录用户访问次数 229
10.6.2 将数据导出到Excel表 230
10.7 本章小结 230
第11章 EL表达式 231
11.1 EL概述 232
11.1.1 EL的基本语法 232
11.1.2 EL的特点 232
11.2 与低版本的环境兼容——禁用EL 233
11.2.1 使用斜杠“\”符号 233
11.2.2 使用page指令 233
11.2.3 在web.xml文件中配置<el-ignored>元素 233
11.3 保留关键字 234
11.4 EL运算符及其优先级 234
11.4.1 通过EL访问数据 235
11.4.2 在EL中执行算术运算 236
11.4.3 在EL中判断对象是否为空 236
11.4.4 在EL中执行逻辑关系运算 237
11.4.5 在EL中执行条件运算 238
11.5 EL的隐含对象 239
11.5.1 页面上下文对象 239
11.5.2 访问作用域范围的隐含对象 240
11.5.3 情景应用:读取page范围内的JavaBean属性值 241
11.5.4 访问环境信息的隐含对象 241
11.6 定义和使用EL函数 244
11.6.1 定义和使用函数 244
11.6.2 情景应用:定义EL函数处理字符串中的回车换行符和空格符 245
11.6.3 定义和使用EL函数时常见的错误 247
11.7 实战练习 248
11.7.1 访问JavaBean属性的典型应用 248
11.7.2通过EL表达式访问Servlet中的作用域 249
11.8 本章小结 250
第12章 JSTL标签库 251
12.1 JSTL标签库 252
12.2 下载与配置JSTL 253
12.2.1 下载JSTL标签库 253
12.2.2 配置JSTL 254
12.3 表达式标签 255
12.3.1 <c:out>标签 255
12.3.2 <c:set>标签 256
12.3.3 <c:remove>标签 258
12.3.4 <c:catch>标签 259
12.4 URL相关标签 260
12.4.1 <c:import>标签 260
12.4.2 <c:url>标签 262
12.4.3 <c:redirect>标签 263
12.4.4 <c:param>标签 264
12.4.5 情景应用:应用<c:redirect>和<c:param>标签重定向页面并传递参数 264
12.5 流程控制标签 265
12.5.1 <cif>标签 265
12.5.2 <c:choose>标签 266
12.5.3 <c:when>标签 267
12.5.4 <c:otherwise>标签 268
12.5.5 情景应用:幸运大抽奖 268
12.6 循环标签 269
12.6.1 <c:forEach>标签 269
12.6.2 <c:forTokens>标签 271
12.7 实战练习 272
12.7.1 利用JSTL标签导入用户注册协议 272
12.7.2 根据参数请求显示不同的页面 273
12.8 本章小结 273
第13章 数据库应用开发 274
13.1 JDBC技术 275
13.1.1 JDBC简介 275
13.1.2 JDBC连接数据库的开发流程 275
13.2 JDBC核心API 277
13.2.1 驱动程序管理器DriverManager 277
13.2.2 代表数据库连接的Connection接口 278
13.2.3 执行SQL语句的Statement接口 279
13.2.4 预编译执行SQL语句的PreparedStatement接口 280
13.2.5 结果集ResultSet接口 280
13.2.6 及时关闭连接 282
13.2.7 情景应用:JDBC连接SQL Server 2005数据库 282
13.3 JDBC操作数据库 283
13.3.1 添加数据 283
13.3.2 查询数据 286
13.3.3 修改数据 289
13.3.4 删除数据 291
13.3.5 批处理 293
13.3.6 情景应用:调用存储过程 296
13.4 JDBC在Java Web中的应用 299
13.4.1 开发模式 299
13.4.2 分页查询 299
13.5 实战练习 305
13.5.1 应用存储过程操作数据 305
13.5.2 网站用户注册 306
13.6 本章小结 306
第3篇 高级篇 308
第14章 文件上传组件 308
14.1 jspSmartUpload组件简介 309
14.2 jspSmartUpload组件的核心类 309
14.2.1 保存信息的File类 309
14.2.2 存储文件的Files类 311
14.2.3 提供表单信息的Request类 311
14.2.4 组件的核心SmartUpload类 312
14.2.5 情景应用:采用jspSmartUpload组件操作文件 313
14.3 commons-fileload组件简介 317
14.4 commons-fileupload组件的核心类 317
14.4.1 上传的核心类DiskFileUpload 317
14.4.2 处理的核心类ServletFileUpload 319
14.4.3 限制文件类型的SuffixFvileFilter类 319
14.4.4 情景应用:限制上传文件的类型 320
14.5 实战练习 321
14.5.1 上传中文名文件 321
14.5.2 获取表单的元素值 322
14.6 本章小结 322
第15章 解析XML 323
15.1 DOM技术 324
15.2 DOM编程 324
15.2.1 DOM接口 324
15.2.2 使用DOM读取XML文件 326
15.3 SAX技术 328
15.4 SAX编程 328
15.4.1 SAX常用接口 328
15.4.2 SAX实现方法 331
15.4.3 情景应用:使用SAX解析XML 332
15.5 SAX和DOM比较 335
15.6 选择DOM和SAX 335
15.7 实战练习 336
15.7.1 DOM解析XML 336
15.7.2 SAX解析XML 336
15.8 本章小结 337
第16章 应用Ajax技术 338
16.1 Ajax简介 339
16.1.1 Ajax概述 339
16.1.2 Ajax的开发模式 339
16.1.3 Ajax的优点 339
16.2 Ajax使用的技术 340
16.2.1 JavaScript脚本语言 340
16.2.2 XMLHttpRequest 340
16.2.3 XML语言 342
16.2.4 DOM技术 342
16.2.5 CSS技术 342
16.3 搭建Ajax开发框架 342
16.4 Ajax的MVC架构设计 343
16.5 Ajax开发需要注意的问题 347
16.5.1 浏览器兼容性问题 347
16.5.2 封装XMLHttpRequest对象 347
16.5.3 性能问题 347
16.5.4 中文编码问题 347
16.6 Ajax技术的典型应用 348
16.6.1 情景应用一:检测用户名 348
16.6.2 情景应用二:级联下拉列表框 350
16.7 实战练习 351
16.7.1 实现无刷新分页 351
16.7.2 检查用户名是否重复 352
16.8 本章小结 353
第17章 Struts 2框架 354
17.1 Struts 2框架 355
17.1.1 理解MVC的原理 355
17.1.2 Struts 2框架的产生 355
17.1.3 Struts 2的结构体系 356
17.2 Struts 2入门 356
17.2.1 获取与配置Struts 2 356
17.2.2 创建第1个Struts 2程序 357
17.3 Action对象 359
17.3.1 认识Action对象 359
17.3.2 请求参数的注入原理 360
17.3.3 Action的基本流程 360
17.3.4 动态Action 361
17.3.5 应用动态Action 361
17.4 Struts 2的配置文件 364
17.4.1 Struts 2的配置文件类型 364
17.4.2 配置Struts 2包 364
17.4.3 配置名称空间 364
17.4.4 Action的相关配置 365
17.4.5 使用通配符简化配置 366
17.4.6 配置返回结果 367
17.5 Struts 2的开发模式 367
17.5.1 实现与Servlet API的交互 367
17.5.2 域模型DomainModel 368
17.5.3 驱动模型ModelDriven 369
17.6 Struts 2的标签库 370
17.6.1 应用数据标签 370
17.6.2 应用控制标签 372
17.6.3 应用表单标签 374
17.7 Struts 2的拦截器 375
17.7.1 拦截器概述 375
17.7.2 拦截器API 376
17.7.3 情景应用:使用拦截器 377
17.8 数据验证机制 378
17.8.1 手动验证 378
17.8.2 验证文件的命名规则 379
17.8.3 验证文件的编写风格 379
17.9 实战练习 380
17.9.1 Struts 2处理表单数据 380
17.9.2 Struts 2标签下的用户注册 380
17.10 本章小结 381
第18章 Hibernate技术 382
18.1 初识Hibernate 383
18.1.1 ORM原理 383
18.1.2 Hibernate简介 383
18.2 Hibernate入门 384
18.2.1 获取Hibernate 384
18.2.2 Hibernate配置文件 384
18.2.3 编写持久化类 385
18.2.4 Hibernate映射 386
18.2.5 Hibernate主键策略 387
18.3 Hibernate数据持久化 388
18.3.1 Hibemate实例状态 388
18.3.2 Hibernate初始化类 388
18.3.3 保存数据 390
18.3.4 查询数据 391
18.3.5 删除数据 393
18.3.6 修改数据 393
18.3.7 延迟加载 394
18.4 使用Hibernate的缓存 395
18.4.1 情景应用一:使用一级缓存 395
18.4.2 情景应用二:配置和使用二级缓存 396
18.5 实体关联关系映射 397
18.5.1 数据模型与领域模型 398
18.5.2 理解并配置多对一单向关联 398
18.5.3 理解并配置多对一双向关联 399
18.5.4 理解并配置一对一主键关联 401
18.5.5 理解并配置一对一外键关联 403
18.5.6 理解并配置多对多关联关系 404
18.5.7 级联操作 406
18.6 实体继承关系映射 407
18.6.1 类继承树映射为一个表 407
18.6.2 每个子类映射为一个表 409
18.6.3 每个具体类映射为一个表 410
18.7 Hibernate查询语言 411
18.7.1 HQL语言 411
18.7.2 查询实体对象 412
18.7.3 条件查询 413
18.7.4 HQL参数绑定机制 413
18.7.5 排序查询 413
18.7.6 应用聚合函数 414
18.7.7 分组方法 414
18.7.8 联合查询 415
18.7.9 情景应用:利用子查询获取ID值最小的员工信息并显示结果 416
18.8 实战练习 416
18.8.1 修改员工信息 416
18.8.2 员工信息的模糊查询 417
18.9 本章小结 418
第19章 Spring技术 419
19.1 Spring概述 420
19.1.1 Spring组成 420
19.1.2 获取Spring 421
19.1.3 配置Spring 421
19.1.4 使用BeanFactory管理Bean 422
19.1.5 应用ApllicationContext 422
19.2 依赖注入 423
19.2.1 控制反转与依赖注入 423
19.2.2 配置Bean 424
19.2.3 Setter注入 424
19.2.3 构造器注入 425
19.2.5 引用其他Bean 427
19.2.6 创建匿名内部JavaBean 428
19.3 自动装配 428
19.3.1 按Bean名称装配 428
19.3.2 按Bean类型装配 429
19.3.3 自动装配的其他方式 430
19.4 Bean的作用域 431
19.4.1 Spring中的Bean 431
19.4.2 Singleton的作用域 431
19.4.3 Prototype的作用域 432
19.5 bean的特殊处理 432
19.5.1 初始化与销毁 432
19.5.2 自定义属性编辑器 433
19.6 AOP概述 435
19.6.1 AOP术语 435
19.6.2 情景应用:AOP的简单实现 436
19.7 Spring的切入点 437
19.7.1 静态与动态切入点 438
19.7.2 深入静态切入点 439
19.7.3 深入切入点底层 439
19.7.4 Spring中的其他切入点 440
19.8 Aspect对AOP的支持 440
19.8.1 Aspect概述 440
19.8.2 Spring中的Aspect 441
19.8.3 DefaultPointcutAdvisor切入点配置器 441
19.8.4 NameMatchMethodPointcutAdvisor切入点配置器 442
19.9 Spring持久化 442
19.9.1 DAO模式 442
19.9.2 Spring的DAO理念 443
19.9.3 事务管理 445
19.9.4 应用JdbcTemplate操作数据库 448
19.9.5 与Hibernate整合 449
19.9.6 情景应用:整合Spring与Hibernate在tb_user表中添加信息 450
19.10 实战练习 451
19.10.1 登录页面国际化 451
19.10.2 Spring与Hibernate整合批量添加数据 452
19.11 本章小结 452
第4篇 实战篇 454
第20章 技术交流平台——论坛 454
20.1 模块概述 455
20.1.1 开发背景 455
20.1.2 功能结构 455
20.1.3 系统流程 456
20.2 技术攻关 456
20.2.1 Struts 2、Spring 2及Hibernate 3整合流程 456
20.2.2 jQuery常用操作 456
20.3 数据库设计 457
20.3.1 设计E-R图 457
20.3.2 数据库表设计 458
20.4 公共模块设计 459
20.4.1 Spring+Hibernate组合实现持久层 460
20.4.2 使用Struts 2标签分页 461
20.5 主页面设计 463
20.5.1 首页设计 463
20.5.2 论坛页设计 464
20.6 文章维护模块设计 465
20.6.1 添加文章模块 465
20.6.2 浏览文章 467
20.6.3 文章回复 468
20.6.4 修改文章 469
20.6.5 删除文章 469
20.7 文章搜索模块设计 470
20.7.1 搜索我的文章 470
20.7.2 根据关键字搜索文章 471
20.7.3 热门搜索 473
20.7.4 搜索文章作者的所有文章 474
20.7.5 搜索回复作者的所有文章 475
20.8 开发总结 476
20.8.1 文章回复的异步提交难点 476
20.8.2 系统当前位置动态设置的难点 478
第21章 GO购网络商城 481
21.1 GO购网络商城概述 482
21.1.1 开发背景 482
21.1.2 需求分析 482
21.1.3 可行性分析 482
21.1.4 功能结构 482
21.1.5 系统流程 483
21.1.6 系统预览 483
21.2 系统整体设计 484
21.2.1 逻辑分层设计 484
21.2.2 系统文件夹结构 484
21.2.3 页面结构设计 485
21.2.4 开发环境 486
21.3 数据库设计 486
21.3.1 E-R图设计 486
21.3.2 创建数据库及数据表 487
21.4 搭建项目环境 489
21.4.1 配置Struts 2 489
21.4.2 配置Hibernate 491
21.4.3 配置Spring 492
21.4.4 配置web.xml 493
21.5 公共模块设计 494
21.5.1 Hibernate的Session初始化类 494
21.5.2 泛型工具类 496
21.5.3 数据持久化类 496
21.5.4 分页设计 498
21.5.5 字符串工具类 501
21.6 实体映射 502
21.6.1 实体对象设计 502
21.6.2 会员信息 503
21.6.3 订单信息 503
21.6.4 订单条目信息 504
21.6.5 商品信息 505
21.6.6 商品类别信息 506
21.7 登录注册模块设计 507
21.7.1 模块概述 507
21.7.2 实现注册模块 507
21.7.3 实现登录模块 510
21.7.4 单元测试 512
21.8 前台商品信息查询模块设计 513
21.8.1 模块概述 513
21.8.2 实现商品类别分级查询 513
21.8.3 实现商品搜索 515
21.8.4 实现前台查询其他商品 516
21.8.5 单元测试 518
21.9 购物车模块设计 520
21.9.1 模块概述 520
21.9.2 实现购物车的基本功能 520
21.9.3 实现订单的相关功能 523
21.9.4 单元测试 526
21.10 后台商品管理模块设计 526
21.10.1 模块框架 526
21.10.2 实现商品管理功能 526
21.10.3 实现商品类别管理功能 531
21.10.4 单元测试 534
21.11 后台订单管理模块设计 534
21.11.1 模块框架 534
21.11.2 实现后台订单查询 534
21.11.3 实现后台订单状态管理 536
21.11.4 单元测试 538
21.12 系统发布 538
21.12.1 配置Tomcat服务器 538
21.12.2 配置DNS服务器 539
21.13 开发总结 542
附录A 术语解释 543
第1章 JavaWeb概述 543
第2章 搭建开发环境 543
第3章 数据库的安装与创建 544
第4章 Java语言基础 544
第5章 JavaScript语言 545
第6章 初识XML 545
第7章 JSP语法 545
第8章 JSP内置对象 545
第10章 Servlet技术 545
第11章 EL表达式 545
第12章 JSTL标签库 545
第13章 数据库应用开发 545
第14章 文件上传组件 546
第15章 解析XML 546
第16章 Aiax简介 546
第18章 邂逅Hibernate技术 546
第19章 解密Spring技术 546