第1篇 起 步 篇
第1章 Java Web概述2
1.1 初识Java Web19
1.1.1 概述19
1.1.2 Java语言的主要特点19
1.1.3 Java Web20
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章 搭建开发环境12
2.1 Java Web开发环境概述29
2.1.1 开发工具包JDK29
2.1.2 Web服务器29
2.1.3 数据库30
2.1.4 Web浏览器30
2.2 JDK30
2.2.1 下载JDK30
2.2.2 安装JDK32
2.2.3 配置和测试JDK33
2.3 安装和配置Tomcat34
2.3.1 获取Tomcat34
2.3.2 熟悉Tomcat35
2.4 Eclipse36
2.4.1 获取Eclipse36
2.4.2 运行Eclipse37
2.4.3 打造中文版Eclipse37
2.5 做好项目开发的准备工作38
2.5.1 集成Eclipse与Tomcat39
2.5.2 完善Web项目开发所需配置40
2.6 本章小结40
第3章 数据库基础25
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 安装并配置MySQL47
3.2.2 安装MySQL GUI Tool49
3.2.3 连接MySQL Administrator50
3.2.4 创建数据库51
3.2.5 创建数据表51
3.2.6 编辑数据表中的数据51
3.3 本章小结52
第1篇 起 步 篇
第1章 Java Web概述2
1.1 初识Java Web19
1.1.1 概述19
1.1.2 Java语言的主要特点19
1.1.3 Java Web20
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章 搭建开发环境12
2.1 Java Web开发环境概述29
2.1.1 开发工具包JDK29
2.1.2 Web服务器29
2.1.3 数据库30
2.1.4 Web浏览器30
2.2 JDK30
2.2.1 下载JDK30
2.2.2 安装JDK32
2.2.3 配置和测试JDK33
2.3 安装和配置Tomcat34
2.3.1 获取Tomcat34
2.3.2 熟悉Tomcat35
2.4 Eclipse36
2.4.1 获取Eclipse36
2.4.2 运行Eclipse37
2.4.3 打造中文版Eclipse37
2.5 做好项目开发的准备工作38
2.5.1 集成Eclipse与Tomcat39
2.5.2 完善Web项目开发所需配置40
2.6 本章小结40
第3章 数据库基础25
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 安装并配置MySQL47
3.2.2 安装MySQL GUI Tool49
3.2.3 连接MySQL Administrator50
3.2.4 创建数据库51
3.2.5 创建数据表51
3.2.6 编辑数据表中的数据51
3.3 本章小结52
第4章 Java语言基础37
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章 JavaScrip语言71
5.1 初识JavaScript88
5.1.1 JavaScript功能88
5.1.2 在Web页面中引入JavaScript89
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相对应的DOM105
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章 初识XML97
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与CSS126
6.4.2 组合运用XML与XSL126
6.5 本章小结127
第7章 JSP语法112
7.1 JSP概述129
7.2 使用JSP指令标识130
7.2.1 使用页面指令page130
7.2.2 使用文件包含指令include132
7.2.3 使用引用标签库指令taglib133
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 使用请求转发的
动作标识<jsp:forward>141
7.5.3 使用子动作标识<jsp:param>142
7.5.4 使用动作标识<jsp: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篇 核 心 篇
第8章 JSP内置对象142
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技术161
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技术176
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核心API195
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快速
创建Servlet200
10.3 Servlet的典型应用202
10.3.1 处理表单数据202
10.3.2 页面转发206
10.3.3 获取当前页的绝对路径207
10.3.4 操作Cookie207
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表达式215
11.1 EL概述232
11.1.1 EL的基本语法232
11.1.2 EL的特点232
11.2 与低版本的环境兼容——
禁用EL233
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标签库235
12.1 JSTL标签库252
12.2 下载与配置JSTL253
12.2.1 下载JSTL标签库253
12.2.2 配置JSTL254
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章 数据库应用开发258
13.1 JDBC技术275
13.1.1 JDBC简介275
13.1.2 JDBC连接数据库的
开发流程275
13.2 JDBC核心API277
13.2.1 驱动程序管理器
DriverManager277
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篇 高 级 篇
第14章 文件上传组件292
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 上传的核心类
DiskFileUpload317
14.4.2 处理的核心类
ServletFileUpload319
14.4.3 限制文件类型的
SuffixFvileFilter类319
14.4.4 情景应用:限制上传
文件的类型320
14.5 实战练习321
14.5.1 上传中文名文件321
14.5.2 获取表单的元素值322
14.6 本章小结322
第15章 解析XML307
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
解析XML332
15.5 SAX和DOM比较335
15.6 选择DOM和SAX335
15.7 实战练习336
15.7.1 DOM解析XML336
15.7.2 SAX解析XML336
15.8 本章小结337
第16章 应用Ajax技术322
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 XMLHttpRequest340
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框架338
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 2356
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 动态Action361
17.3.5 应用动态Action361
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 域模型DomainModel368
17.5.3 驱动模型ModelDriven369
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 拦截器API376
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技术366
18.1 初识Hibernate383
18.1.1 ORM原理383
18.1.2 Hibernate简介383
18.2 Hibernate入门384
18.2.1 获取Hibernate384
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 Hibernate实例状态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技术403
19.1 Spring概述420
19.1.1 Spring组成420
19.1.2 获取Spring421
19.1.3 配置Spring421
19.1.4 使用BeanFactory
管理Bean422
19.1.5 应用ApllicationContext422
19.2 依赖注入423
19.2.1 控制反转与依赖注入423
19.2.2 配置Bean424
19.2.3 Setter注入424
19.2.3 构造器注入425
19.2.5 引用其他Bean427
19.2.6 创建匿名内部JavaBean428
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中的Bean431
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中的Aspect441
19.8.3 DefaultPointcutAdvisor切入
点配置器441
19.8.4 NameMatchMethodPointcut
Advisor切入点配置器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篇 实 战 篇
第20章 技术交流平台——论坛438
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购网络商城465
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 2489
21.4.2 配置Hibernate491
21.4.3 配置Spring492
21.4.4 配置web.xml493
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
附录 术语解释543