《Java Web编程宝典 十年典藏版》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:王国辉,王春斌编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:9787115233080
  • 页数:692 页
图书介绍:本书共5篇,在内容上全面超越目前简单的实战类图书,打造成为“巨无霸”宝典,在各章中穿插讲解实战开发技巧。

第1章 驾驭Java Web开发环境——开启Java Web开发之门 4

第1篇 技能学习篇 4

1.1 本章学习任务 4

1.1.1 本章知识体系 4

1.1.2 实例开发任务 4

1.2 初窥Java Web应用 5

1.2.1 理解C/S结构 5

1.2.2 理解B/S结构 5

1.2.3 B/S与C/S的区别 6

1.2.4 了解JavaWeb应用的成功案例 7

1.3 Java Web开发的基石——开发工具包JDK 8

1.3.1 下载JDK 8

1.3.2 JDK的安装 10

1.3.3 配置和测试JDK 12

1.4 Java Web应用的Web服务器——Tomcat 14

1.4.1 Web应用服务工作原理 14

1.4.2 Web应用服务器汇总 15

1.4.3 获取Tomcat 15

1.4.4 熟悉Tomcat的五脏六腑 17

1.5 Java Web开发利器之Eclipse 19

1.5.1 获取Eclipse 19

1.5.2 运行Eclipse 21

1.5.3 打造中文版Eclipse 22

1.6 做好项目开发的准备工作 25

1.6.1 集成Eclipse与Tomcat 25

1.6.2 完善Web项目开发所需配置 27

1.7 实战检验 28

1.7.1 创建第一个Java Web项目 29

1.7.2 将图片输出到JSP页面之中 31

1.8 疑难解惑 31

1.8.1 Tomcat端口被占用导致不能启动 31

1.8.2 Eclipse没有创建JSP项 32

1.9 精彩回顾 33

第2章 Java Web开发必修课——JSP语法 36

2.1 本章学习任务 36

2.1.1 本章知识体系 36

2.1.2 实例开发任务 36

2.2 什么是Jsp 37

2.2.1 JSP简介 37

2.2.2 理解JSP运行原理 38

2.3 使用JsP指令标识 39

2.3.1 页面指令page的使用 39

2.3.2 文件包含指令include的使用 41

2.3.3 引用标签库指令taglib的使用 43

2.4 使用JSP脚本 44

2.4.1 在JSP中应用代码片段 44

2.4.2 使用JSP表达式 45

2.4.3 声明标识的使用 46

2.5 注释的魅力 47

2.5.1 基本的HTML注释 47

2.5.2 JSP隐藏注释 48

2.5.3 代码片段中的注释 48

2.6 常用的JsP动作标识 49

2.6.1 使用包含动作标识〈jsp:include〉 49

2.6.2 使用请求转发的动作标识〈jsp:forward〉 52

2.6.3 子动作标识〈jsp:param〉的使用 53

2.7 实战检验 54

2.7.1 输出九九乘法表 54

2.7.2 JSP中实现随机抽奖 55

2.8 疑难解惑 56

2.8.1 在JSP页面中编写中文之后不能保存 56

2.8.2 访问JSP页面出现乱码 56

2.8.3 在JSP页面中使用Include指令后,JSP不能编译 56

2.9 精彩回顾 57

第3章 前人栽树后人乘凉——JSP内置对象 60

3.1 本章学习任务 60

3.1.1 本章知识体系 60

3.1.2 实例开发任务 60

3.2 简化开发——JSP内置对象概述 61

3.2.1 为什么需要JSP内置对象 61

3.2.2 内置对象及其使用场合 61

3.3 out输出对象的应用 62

3.3.1 向客户端输出数据 62

3.3.2 管理相应缓冲区 63

3.4 request请求对象的应用 64

3.4.1 获取请求参数 64

3.4.2 解决中文乱码 66

3.4.3 获取客户端数据 66

3.5 response回应对象的应用 68

3.5. 1 HTTP头信息的操作 68

3.5.2 设置MIME类型 68

3.5.3 页面重定向操作 69

3.6 session会话对象的应用 70

3.6.1 session的生命周期 70

3.6.2 会话的创建与获取 70

3.6.3 移除session中的数据 71

3.6.4 设置session的有效时间 71

3.7 application应用对象应用 72

3.7.1 application的生命周期 72

3.7.2 application中数据的操作 72

3.7.3 Web应用初始化参数的配置 73

3.7.4 application对象应用示例 74

3.8 其他内置对象的应用 75

3.8.1 应答与请求的page对象 75

3.8.2 页面上下文的pageContext对象 75

3.8.3 获取web.xml配置信息的config对象 76

3.8.4 获取异常信息的exception对象 76

3.9 实战检验 76

3.9.1 将网页保存为Word文档 76

3.9.2 学生管理系统中用户登录模块 77

3.10 疑难解惑 79

3.10.1 表单提交中文数据乱码 79

3.10.2 如何在超链接中传递多个参数 79

3.10.3 重定向后出现404错误 79

3.11 精彩回顾 79

第4章 体验面向对象——JavaBean技术 82

4.1 本章学习任务 82

4.1.1 本章知识体系 82

4.1.2 实例开发任务 82

4.2 JavaBean简介 83

4.2.1 JavaBean产生的背景 83

4.2.2 使用JavaBean的意义 84

4.2.3 了解JavaBean的规范 84

4.2.4 Eclipse对JavaBean方法的支持 85

4.3 JavaBean与JSP的完美结合 86

4.3.1 更加对象化的JSP开发 86

4.3.2 〈jsp:useBean〉标识的应用 89

4.3.3 〈jsp:getProperty〉标识的应用 90

4.3.4 〈jsp:setProperty〉标识的应用 92

4.3.5 开发体验之JavaBean实现档案录入 93

4.4 实战检验 95

4.4.1 利用JavaBean实现电子时钟 95

4.4.2 通过JSP、JavaBean实现调查问卷 97

4.5 疑难解惑 100

4.5.1 不能获取JavaBean的属性信息 100

4.5.2 不能为JavaBean属性赋值 100

4.5.3 〈jsp:setProperty〉获取不到表单中的所有信息 100

4.6 精彩回顾 101

第5章 Web应用的缔造者——Servlet技术 104

5.1 本章学习任务 104

5.1.1 本章知识体系 104

5.1.2 实例开发任务 104

5.2 与时俱进——了解Servlet技术 105

5.2.1 初步认识Servlet 105

5.2.2 Servlet与JSP的区别 105

5.3 为我所用——Servlet技术开发 106

5.3.1 Servlet在Java EE中的结构体系 106

5.3.2 Servlet核心API 106

5.3.3 创建第一个Servlet对象 108

5.3.4 Servlet配置解析 109

5.3.5 使用Servlet处理业务逻辑 110

5.3.6 掌握Servelet处理流程 111

5.3.7 Eclipse快速创建Servlet 112

5.4 一夫当关——配置并应用Servlet过滤器 114

5.4.1 过滤器的基本原理 115

5.4.2 过滤器的核心API 116

5.4.3 过滤器的创建与配置 116

5.4.4 Java Web中字符乱码分析 118

5.4.5 实现字符编码过滤器 118

5.5 实战检验 122

5.5.1 通过Servlet实现录入用户信息 122

5.5.2 应用过滤器实现网页计数器 126

5.6 疑难解惑 128

5.6.1 访问Servlet出现404错误 128

5.6.2 修改Servlet无效 129

5.6.3 创建过滤器并没有实现过滤效果 129

5.7 精彩回顾 129

第6章 打造无脚本的JSP页面——EL与JSTL标签库 129

6.1 本章学习任务 132

6.1.1 本章学习任务 132

6.1.2 实例开发任务 132

6.2 EL与JSTL简介 133

6.2.1 什么是EL 133

6.2.2 什么是JSTL 133

6.3 EL表达式的应用 134

6.3.1 EL的基本语法 134

6.3.2 EL的运算符 134

6.3.3 EL的隐含对象 136

6.4 JSTL核心标签库的应用 138

6.4.1 数据访问标签 138

6.4.2 流程控制标签 140

6.4.3 循环标签 142

6.5 JSTL格式标签库的应用 144

6.5.1 使用格式化数字 144

6.5.2 使用格式化时间 145

6.6 实战检验 146

6.6.1 根据星期显示不同的提示信息 146

6.6.2 读取数组中的数据 147

6.7 疑难解惑 147

6.7.1 JSTL的优点 147

6.7.2 JSTL和EL的关系 148

6.8 精彩回顾 148

第7章 动态网站之灵魂——数据库应用开发 150

7.1 本章学习任务 150

7.1.1 本章知识体系 150

7.1.2 实例开发任务 150

7.2 MySQL数据库的安装与使用 151

7.2.1 安装并配置MySQL 151

7.2.2 安装MySQL GUI Tool 156

7.2.3 连接MySQL Administrator 157

7.2.4 创建数据库 158

7.2.5 创建数据表 159

7.2.6 编辑数据表中的数据 160

7.3 JDBC技术 160

7.3.1 JDBC技术原理 160

7.3.2 JDBC连接数据库的过程 161

7.3.3 JDBC连接MySQL数据库 162

7.4 JDBC核心API 162

7.4.1 代表数据库连接的Connection接口 163

7.4.2 驱动程序管理器DriverManager类 163

7.4.3 执行SQL语句的Statement接口 164

7.4.4 预编译执行SQL语句的PreparedStatement接口 164

7.4.5 结果集ResultSet接口 165

7.5 JDBC操作数据库 166

7.5.1 向数据库中插入数据 166

7.5.2 从数据库中查询所需数据 168

7.5.3 修改数据库中的数据 170

7.5.4 删除无用的数据 171

7.5.5 批处理数据操作 172

7.5.6 应用存储过程进行数据操作 173

7.6 实战检验 175

7.6.1 JDBC连接SQL Server 2005数据库 175

7.6.2 网站用户注册 176

7.7 疑难解惑 178

7.7.1 PreparedStatement与Statement 178

7.7.2 预编译的理解 178

7.8 精彩回顾 179

第8章 浅尝辄止——初识Struts 2

8.1 本章学习任务 182

8.1.1 本章知识体系 182

8.1.2 实例开发任务 182

8.2 Struts 2概述 183

8.2.1 理解MVC原理 183

8.2.2 Struts 2框架的产生 184

8.2.3 Struts 2的结构体系 184

8.3 Struts 2入门 185

8.3.1 Struts 2的获取与放置 185

8.3.2 第一个Struts 2程序 185

8.4 Action对象 188

8.4.1 认识Action对象 188

8.4.2 请求参数的注入原理 189

8.4.3 Action的基本流程 190

8.4.4 什么是动态Action 190

8.4.5 动态Action的应用 191

8.5 Struts 2的配置文件 194

8.5.1 Struts 2的配置文件类型 194

8.5.2 Struts 2的包配置 194

8.5.3 名称空间配置 195

8.5.4 Action相关配置 195

8.5.5 通配符实现简化配置 197

8.5.6 返回结果的配置 197

8.6 Struts 2的开发模式 198

8.6.1 实现与ServletAPI的交互 198

8.6.2 域模型DomainModel 199

8.6.3 驱动模型ModelDriven 200

8.7 实战检验 201

8.7.1 Struts 2处理表单数据 201

8.7.2 使用Map类型的request、session、application 204

8.8 疑难解惑 206

8.8.1 StrutsPrepareAndExecuteFilter过滤器 206

8.8.2 struts.xml文件配置出错 206

8.9 精彩回顾 206

第9章 庖丁解牛——揭密Struts 2高级技术 208

9.1 本章学习任务 208

9.1.1 本章知识体系 208

9.1.2 实例开发任务 208

9.2 OGNL表达式语言 209

9.2.1 认识OGNL 209

9.2.2 Struts 2框架中的OGNL 209

9.2.3 操作普通的属性与方法 211

9.2.4 访问静态方法与属性 214

9.2.5 访问数组 214

9.2.6 访问List、Set、Map集合 215

9.2.7 投影与选择 215

9.3 Struts 2的标签库 216

9.3.1 数据标签的应用 216

9.3.2 控制标签的应用 219

9.3.3 表单标签的应用 221

9.4 拦截器的使用 223

9.4.1 了解拦截器 223

9.4.2 拦截器API 225

9.4.3 使用拦截器 226

9.5 数据验证机制 227

9.5.1 手动验证的实现 227

9.5.2 验证文件的命名规则 228

9.5.3 验证文件的编写风格 228

9.6 实战检验 229

9.6.1 Struts 2标签下的用户注册 229

9.6.2 使用验证框架对数据校验 232

9.7 疑难解惑 234

9.7.1 不能通过OGNL访问类的静态方法 234

9.7.2 不能通过OGNL访问类的request中的变量 234

9.7.3 数据验证无效 234

9.8 精彩回顾 234

第10章 邂逅数据库持久化利器——Hibernate技术入门 234

10.1 本章学习任务 238

10.1.1 本章知识体系 238

10.1.2 实例开发任务 238

10.2 初识Hibernate 239

10.2.1 理解ORM原理 239

10.2.2 Hibernate简介 240

10.3 Hibernate入门 241

10.3.1 获取Hibernate 241

10.3.2 Hibernate配置文件 241

10.3.3 了解并编写持久化类 242

10.3.4 Hibernate映射 243

10.3.5 Hibernate主键策略 244

10.4 Hibernate数据持久化 245

10.4.1 Hibernate实例状态 245

10.4.2 Hibernate初始化类 246

10.4.3 保存数据 247

10.4.4 查询数据 249

10.4.5 删除数据 250

10.4.6 修改数据 251

10.4.7 关于延迟加载 252

10.5 使用Hibernate的缓存 252

10.5.1 一级缓存的使用 253

10.5.2 配置并使用二级缓存 254

10.6 实战检验 255

10.6.1 修改员工信息 255

10.6.2 根据学号查询学生信息 258

10.7 疑难解惑 259

10.7.1 持久化操作无法提交到数据库 259

10.7.2 配置事务的重要性 259

10.7.3 session的持久化状态转换 259

10.8 精彩回顾 259

第11章 探密数据库持久化利器——Hibernate高级应用 259

11.1 本章学习任务 262

11.1.1 本章知识体系 262

11.1.2 实例开发任务 262

11.2 实体关联关系映射 263

11.2.1 数据模型与领域模型 264

11.2.2 理解并配置多对一单向关联 264

11.2.3 理解并配置多对一双向关联 266

11.2.4 理解并配置一对一主键关联 267

11.2.5 理解并配置一对一外键关联 269

11.2.6 理解并配置多对多关联关系 270

11.2.7 了解级联操作 272

11.3 实体继承关系映射 273

11.3.1 类继承树映射成一张表 273

11.3.2 每个子类映射成一张表 275

11.3.3 每个具体类映射成为一张表 276

11.4 Hibernate查询语言 277

11.4.1 了解HQL语言 277

11.4.2 实体对象查询 278

11.4.3 条件查询 279

11.4.4 HQL参数绑定机制 280

11.4.5 排序查询 280

11.4.6 聚合函数的应用 280

11.4.7 分组方法 281

11.4.8 联合查询 281

11.4.9 子查询 282

11.5 实战检验 283

11.5.1 双向多对一的信息添加与查询 283

11.5.2 员工信息的模糊查询 285

11.6 疑难解惑 287

11.6.1 为什么需要配置实体的关联关系 287

11.6.2 Hibernate是否能使用SQL语句进行查询 287

11.6.3 Hibernate与DML语言的区别 287

11.7 精彩回顾 287

第12章 简化企业开发瑰宝之一——Soring核心之IoC 287

12.1 本章学习任务 290

12.1.1 本章知识体系 290

12.1.2 实例开发任务 290

12.2 Spring概述 291

12.2.1 初识Spring 291

12.2.2 Spring的获取 292

12.2.3 简单配置Spring 293

12.2.4 使用BeanFactory管理Bean 294

12.2.5 ApllicationContext的应用 294

12.3 依赖注入 295

12.3.1 什么是控制反转与依赖注入 295

12.3.2 Bean的配置 296

12.3.3 Setter注入 297

12.3.4 构造器注入 298

12.3.5 引用其他的Bean 299

12.3.6 匿名内部JavaBean的创建 301

12.4 自动装配 301

12.4.1 按Bean名称装配 301

12.4.2 按Bean类型装配 302

12.4.3 自动装配的其他方式 303

12.5 Bean的作用域 304

12.5.1 了解Spring中的Bean 304

12.5.2 Singleton的作用域 304

12.5.3 Prototype的作用域 305

12.6 对Bean的特殊处理 306

12.6.1 初始化与销毁 306

12.6.2 自定义属性编辑器 307

12.7 实战检验 309

12.7.1 用户登录验证 309

12.7.2 登录页面国际化 310

12.8 疑难解惑 312

12.8.1 控制反转的缺点 312

12.8.2 是否有其他方式实现Setter注入和构造器注入 312

12.8.3 销毁prototype作用域的bean是否必要 312

12.9 精彩回顾 312

第13章 简化企业开发瑰宝之二——Spring核心之AOP 312

13.1 本章学习任务 316

13.1.1 本章知识体系 316

13.1.2 本章实例开发任务 316

13.2 AOP概述 317

13.2.1 了解AOP 317

13.2.2 AOP的简单实现 319

13.3 Spring的切入点 320

13.3.1 静态切入点与动态切入点 320

13.3.2 深入静态切入点 321

13.3.3 深入切入点底层 322

13.3.4 Spring中其他切入点 322

13.4 Aspect对AOP的支持 323

13.4.1 了解Aspect 323

13.4.2 Spring中的Aspect 323

13.4.3 DefaultPointcutAdvisor切入点配置器 324

13.4.4 NameMatchMethodPointcutAdvisor切入点配置器 325

13.5 Spring持久化 325

13.5.1 DAO模式介绍 325

13.5.2 Spring的DAO理念 326

13.5.3 事务应用的管理 328

13.5.4 应用JdbcTemplate操作数据库 331

13.5.5 与Hibernate整合 332

13.6 实战检验 334

13.6.1 SpringAOP实现的用户注册 334

13.6.2 Spring与Hibernate整合批量添加数据 336

13.7 疑难解惑 338

13.7.1 AOP与OOP的区别 338

13.7.2 AOP的优点 338

13.7.3 在Spring中不直接使用JDBC的原因 338

13.8 精彩回顾 339

第14章 程序员的伴侣——程序调试与发布 342

14.1 本章学习任务 342

14.1.1 本章知识体系 342

14.1.2 本章学习任务 342

14.2 查看错误提示信息 342

14.2.1 查看JSP页面输出的错误 342

14.2.2 查看错误日志 343

14.3 常见错误的分析与解决 343

14.3.1 指令标识的语法错误 343

14.3.2 动作标识的语法错误 345

14.3.3 脚本标识中的错误 346

14.3.4 空指针错误 349

14.4 发布网站到个人服务器 351

14.4.1 发布网站的前提条件 351

14.4.2 发布配置 351

第2篇 范例演练篇 356

第15章 学以致用——基础知识相关 356

15.1 带记录账号功能的用户登录 356

15.1.1 范例功能演示 356

15.1.2 开发思路指引 356

15.1.3 专家难点解析 357

15.1.4 设计过程详解 357

15.1.5 范例开发手记 358

15.1.6 进阶与提高 358

15.2 防止重复提交的问卷调查 359

15.2.1 范例功能演示 359

15.2.2 开发思路指引 359

15.2.3 专家难点解析 360

15.2.4 设计过程详解 360

15.2.5 范例开发手记 361

15.2.6 进阶与提高 361

15.3 在网页中加入验证码 361

15.3.1 范例功能演示 361

15.3.2 开发思路指引 362

15.3.3 专家难点解析 363

15.3.4 设计过程详解 363

15.3.5 范例开发手记 366

15.3.6 进阶与提高 366

15.4 过滤敏感字符的留言本 368

15.4.1 范例功能演示 368

15.4.2 开发思路指引 369

15.4.3 专家难点解析 369

15.4.4 设计过程详解 369

15.4.5 范例开发手记 372

15.4.6 进阶与提高 372

15.5 自动生成静态HTML页面 373

15.5.1 范例功能演示 373

15.5.2 开发思路指引 374

15.5.3 专家难点解析 374

15.5.4 设计过程详解 375

15.5.5 范例开发手记 377

15.5.6 进阶与提高 377

第16章 幕后英雄的用武之地——数据库相关 380

16.1 将密码加密并保存到数据库 380

16.1.1 范例功能演示 380

16.1.2 开发思路指引 380

16.1.3 专家难点解析 381

16.1.4 设计过程详解 381

16.1.5 范例开发手记 384

16.1.6 进阶与提高 384

16.2 功能完善的数据分页 384

16.2.1 范例功能演示 384

16.2.2 开发思路指引 385

16.2.3 专家难点解析 386

16.2.4 设计过程详解 386

16.2.5 范例开发手记 389

16.2.6 进阶与提高 390

16.3 在查询结果中搜索 391

16.3.1 范例功能演示 391

16.3.2 开发思路指引 391

16.3.3 专家难点解析 392

16.3.4 设计过程详解 392

16.3.5 范例开发手记 395

16.3.6 进阶与提高 395

16.4 通用数据库备份 395

16.4.1 范例功能演示 395

16.4.2 开发思路指引 396

16.4.3 专家难点解析 397

16.4.4 设计过程详解 397

16.4.5 范例开发手记 399

16.4.6 进阶与提高 399

16.5 通用数据库恢复 400

16.5.1 范例功能演示 400

16.5.2 开发思路指引 401

16.5.3 专家难点解析 401

16.5.4 设计过程详解 401

16.5.5 范例开发手记 404

16.5.6 进阶与提高 404

第17章 Web开发的制胜法宝——图像与文件相关 404

17.1 批量上传文件 406

17.1.1 范例功能演示 406

17.1.2 开发思路指引 406

17.1.3 专家难点解析 407

17.1.4 设计过程详解 407

17.1.5 范例开发手记 408

17.1.6 进阶与提高 408

17.2 上传图片到数据库并显示 408

17.2.1 范例功能演示 409

17.2.2 开发思路指引 409

17.2.3 专家难点解析 410

17.2.4 设计过程详解 410

17.2.5 范例开发手记 411

17.2.6 进阶与提高 411

17.3 生成图片缩略图 413

17.3.1 范例功能演示 413

17.3.2 开发思路指引 413

17.3.3 专家难点解析 414

17.3.4 设计过程详解 414

17.3.5 范例开发手记 416

17.3.6 进阶与提高 416

17.4 具有防盗链功能的文件下载 416

17.4.1 范例功能演示 416

17.4.2 开发思路指引 417

17.4.3 专家难点解析 418

17.4.4 设计过程详解 418

17.4.5 范例开发手记 419

17.4.6 进阶与提高 420

17.5 文件的压缩与解压 420

17.5.1 范例功能演示 420

17.5.2 开发思路指引 420

17.5.3 专家难点解析 421

17.5.4 设计过程详解 422

17.5.5 范例开发手记 423

17.5.6 进阶与提高 423

第18章 数据分析大师——图表与报表相关 426

18.1 JFreeChart柱状图表分析房价 426

18.1.1 范例功能演示 426

18.1.2 开发思路指引 427

18.1.3 专家难点解析 427

18.1.4 设计过程详解 427

18.1.5 范例开发手记 428

18.1.6 进阶与提高 429

18.2 JFreeChart饼图分析IT行业 430

18.2.1 范例功能演示 430

18.2.2 开发思路指引 431

18.2.3 专家难点解析 432

18.2.4 设计过程详解 432

18.2.5 范例开发手记 433

18.2.6 进阶与提高 433

18.3 JFreeChart组合图分析学生零用钱收支情况 433

18.3.1 范例功能演示 433

18.3.2 开发思路指引 434

18.3.3 专家难点解析 435

18.3.4 设计过程详解 435

18.3.5 范例开发手记 436

18.3.6 进阶与提高 436

18.4 JasperReports生成订单表格报表 437

18.4.1 范例功能演示 437

18.4.2 开发思路指引 438

18.4.3 专家难点解析 438

18.4.4 设计过程详解 438

18.4.5 范例开发手记 440

18.4.6 进阶与提高 440

18.5 JasperReports图表报表分析Ajax框架下载量 440

18.5.1 范例功能演示 440

18.5.2 开发思路指引 441

18.5.3 专家难点解析 441

18.5.4 设计过程详解 441

18.5.5 范例开发手记 443

18.5.6 进阶与提高 443

第19章 体验完美视觉盛宴——Ajax相关 446

19.1 实时显示最新商品及报价 446

19.1.1 范例功能演示 446

19.1.2 开发思路指引 446

19.1.3 专家难点解析 447

19.1.4 设计过程详解 449

19.1.5 范例开发手记 452

19.1.6 进阶与提高 454

19.2 限时竞拍 454

19.2.1 范例功能演示 454

19.2.2 开发思路指引 455

19.2.3 专家难点解析 455

19.2.4 设计过程详解 457

19.2.5 范例开发手记 466

19.2.6 进阶与提高 467

19.3 多级联动下拉列表 467

19.3.1 范例功能演示 467

19.3.2 开发思路指引 468

19.3.3 专家难点解析 469

19.3.4 设计过程详解 470

19.3.5 范例开发手记 476

19.3.6 进阶与提高 476

19.4 仿Google Suggest自动完成 477

19.4.1 范例功能演示 477

19.4.2 开发思路指引 477

19.4.3 专家难点解析 478

19.4.4 设计过程详解 479

19.4.5 范例开发手记 483

19.4.6 进阶与提高 483

19.5 实时弹出气泡提示窗口 484

19.5.1 范例功能演示 484

19.5.2 开发思路指引 484

19.5.3 专家难点解析 485

19.5.4 设计过程详解 485

19.5.5 范例开发手记 490

19.5.6 进阶与提高 491

第20 章通讯录开发模板——讯友联系人管理模块 491

第3篇 项目实战篇 496

20.1 模块概述 496

20.1.1 开发背景 496

20.1.2 系统功能结构 496

20.1.3 系统流程 497

20.2 技术攻关 498

20.2.1 使用Hibernate持久化Java对象 498

20.2.2 Ajax异步提交 498

20.3 数据库设计 500

20.3.1 设计E-R图 500

20.3.2 数据库表设计 501

20.4 公共模块设计 501

20.4.1 Hibernate配置文件的编写 502

20.4.2 创建获取数据源的公共类 503

20.5 主页面设计 504

20.6 用户管理模块设计 505

20.6.1 用户实体类 505

20.6.2 用户注册的实现 506

22.6.3 用户登录的实现 510

20.7 讯友联系人管理模块设计 510

20.7.1 讯友类别实体类 510

20.7.2 讯友信息实体类 511

20.7.3 添加讯友类别信息 511

20.7.4 添加讯友信息 512

20.7.5 修改讯友信息 515

20.7.6 删除讯友信息 516

20.7.7 查询讯友信息 517

20.8 疑难解惑 518

20.8.1 Ajax请求的中文乱码问题 518

20.8.2 去掉弹出窗口的地址栏和状态栏 519

第21章 打造自己的视频网站——播客 522

21.1 模块概述 522

21.1.1 开发背景 522

21.1.2 系统功能结构 523

21.1.3 系统流程 524

21.2 技术攻关 526

21.2.1 连接池介绍 526

21.2.2 连接池的工作原理 526

21.2.3 使用JNDI连接数据库 528

21.3 数据库设计 529

21.3.1 设计E-R图 529

21.3.2 数据库表设计 530

21.4 公共模块设计 531

21.4.1 配置Tomcat连接池 531

21.4.2 分页的实现 533

21.5 主页面设计 536

21.5.1 前台主页设计 536

21.5.2 后台主页设计 537

21.6 前台视频浏览模块设计 538

21.6.1 定义视频信息实体类 538

21.6.2 按类别查询视频信息 539

21.6.3 视频搜索功能 541

21.6.4 视频播放功能 542

21.7 前台留言模块设计 544

21.7.1 定义留言信息的实体类 544

21.7.2 视频留言查询功能 544

21.7.3 视频留言功能 546

21.8 后台视频管理模块 547

21.8.1 视频上传功能 547

21.8.2 视频删除功能 551

21.9 疑难解惑 553

21.9.1 解析实现视频播放功能的难点 553

21.9.2 解析实现视频上传功能的难点 553

第22章 自我展示的空间——博客 556

22.1 模块概述 556

22.1.1 开发背景 556

22.1.2 系统功能结构 557

22.1.3 系统流程 558

22.2 技术攻关 559

22.2.1 Struts 2与Hibernate 3整合流程 559

22.2.2 应用JavaSrcipt对复选框进行操作 560

22.3 数据库设计 561

22.3.1 设计E-R图 561

22.3.2 数据库表设计 562

22.4 公共模块设计 564

22.4.1 Hibernate配置文件编写 564

22.4.2 数据持久化类 565

22.5 主页面设计 568

22.5.1 首页操作实现类 569

22.5.2 首页显示的实现 569

22.6 用户管理模块设计 571

22.6.1 用户实体类 571

22.6.2 用户的实现类 571

22.6.3 用户注册的实现 572

22.6.4 根据域名访问博客 575

22.6.5 推荐博客操作 576

22.7 文章模块设计 577

22.7.1 文章实体类 577

22.7.2 文章的实现类 578

22.7.3 文章类型操作 578

22.7.4 文章添加操作 580

22.7.5 文章查询操作 581

22.7.6 文章详细查询操作 583

22.7.7 推荐文章操作 583

22.8 疑难解惑 585

22.8.1 关于Struts 2的中文乱码问题 585

22.8.2 关于重写模板的问题 585

第23章 技术交流的平台——明日知道 588

23.1 模块概述 588

23.1.1 开发背景 588

23.1.2 系统功能结构 588

23.1.3 系统流程 589

23.2 技术攻关 589

23.2.1 Struts 2与Spring 2以及Hibernate 3整合流程 589

23.2.2 jQuery常用操作 590

23.3 数据库设计 591

23.3.1 设计E-R图 591

23.3.2 数据库表设计 593

23.4 公共模块设计 594

23.4.1 Spring+Hibernate组合下实现持久层 594

23.4.2 Struts 2标签实现分页 595

23.5 主页面设计 597

23.5.1 首页设计 597

23.5.2 论坛页设计 598

23.6 文章维护模块设计 600

23.6.1 添加文章 600

23.6.2 浏览文章 602

23.6.3 文章回复 603

23.6.4 修改文章 603

23.6.5 删除文章 604

23.7 文章搜索模块设计 605

23.7.1 搜索我的文章 605

23.7.2 根据关键字搜索文章 606

23.7.3 热门搜索 608

23.7.4 搜索文章作者的所有文章 609

23.7.5 搜索回复作者的所有文章 610

23.8 疑难解惑 610

23.8.1 实现文章回复的异步提交难点 610

23.8.2 系统当前位置动态设置的难点 612

第4篇 商业系统篇 618

第24章 基于SSH2的天下淘商城 618

24.1 天下淘商城概述 618

24.1.1 开发背景 618

24.1.2 需求分析 618

24.1.3 可行性分析 618

24.1.4 功能结构图 619

24.1.5 系统流程图 620

24.1.6 系统预览 621

24.2 系统整体设计 622

24.2.1 逻辑分层设计 622

24.2.2 系统文件夹组织结构 623

24.2.3 页面结构设计 624

24.2.4 开发环境 625

24.3 数据库设计 625

24.3.1 数据库概念设计 625

24.3.2 创建数据库及数据表 627

24.4 项目环境搭建 629

24.4.1 配置Struts 2 629

24.4.2 配置Hibernate 632

24.4.3 配置Spring 633

24.4.4 配置web.xml 633

24.5 公共模块的设计 634

24.5.1 Hibernate的session初始化类 635

24.5.2 泛型工具类 636

24.5.3 数据持久化类 637

24.5.4 分页操作 638

24.5.5 字符串工具类 642

24.6 实体映射 643

24.6.1 实体对象总体设计 643

24.6.2 会员信息 643

24.6.3 订单信息 644

24.6.4 订单条目信息 645

24.6.5 商品信息 646

24.6.6 商品类别信息 646

24.7 登录注册模块设计 647

24.7.1 模块概述 647

24.7.2 注册模块的实现 648

24.7.3 登录模块的实现 650

24.7.4 单元测试 652

24.8 前台商品信息查询模块设计 654

24.8.1 模块概述 654

24.8.2 商品类别分级查询的实现 654

24.8.3 商品搜索的实现 656

24.8.4 前台商品其他查询的实现 658

24.8.5 单元测试 660

24.9 购物车模块设计 662

24.9.1 模块概述 662

24.9.2 购物车基本功能的实现 663

24.9.3 订单相关功能的实现 666

24.9.4 单元测试 669

24.10 后台商品管理模块设计 670

24.10.1 模块概述 670

24.10.2 商品管理功能的实现 670

24.10.3 商品类别管理功能的实现 675

24.10.4 单元测试 678

24.11 后台订单管理模块的设计 678

24.11.1 模块概述 678

24.11.2 后台订单查询的实现 679

24.11.3 后台订单状态管理的实现 681

24.11.4 单元测试 683

24.12 系统发布 684

24.12.1 配置Tomcat服务器 684

24.12.2 配置DNS服务器 685

24.13 开发总结 691