第1篇 JSP技术概述 3
第1章 JSP技术概述 3
1.1 JSP技术背景 3
1.2 动态网页技术 3
1.2.1 CGI 4
1.2.2 ASP 4
1.2.3 ASP.NET 5
1.2.4 PHP 6
1.2.5 Servlet 7
1.2.6 JSP 8
1.2.7 Python、Ruby等脚本语言 9
1.2.8 动态网页技术的比较 10
1.3 JSP技术原理 11
1.3.1 JSP的工作原理 11
1.3.2 编译后的JSP 13
1.4 为什么使用JSP 16
1.5 开发第一个JSP页面 17
1.6 小结 19
第2章 搭建运行开发环境和集成开发环境 20
2.1 Eclipse的应用 20
2.1.1 Eclipse简述 20
2.1.2 安装Eclipse 21
2.1.3 更新Eclipse 22
2.1.4 安装和配置Eclipse插件 23
2.1.5 使用Eclipse 24
2.1.6 Eclipse常用资源 29
2.2 NetBeans 29
2.2.1 NetBeans简述 29
2.2.2 安装NetBeans 30
2.2.3 使用和配置NetBeans 31
2.2.4 NetBeans常用资源 33
2.3 JBuilder 33
2.3.1 安装JBuilder 33
2.3.2 与Web服务器集成 34
2.4 其他集成开发环境 37
2.4.1 IntelliJ Idea 37
2.4.2 JDeveloper 37
2.5 小结 38
第2篇 JSP技术 41
第3章 JSP语法详解 41
3.1 JSP的构成 41
3.1.1 一个典型的JSP文件 41
3.1.2 分析JSP文件中的元素 42
3.2 指令元素 45
3.2.1 页面指令 45
3.2.2 include指令 47
3.2.3 taglib指令 48
3.2.4 表达式语言 49
3.3 脚本元素 49
3.3.1 声明(Declaration) 49
3.3.2 表达式(Expression) 50
3.3.3 Scriptlets 51
3.4 动作元素 53
3.4.1 <jsp:param> 53
3.4.2 <jsp:include> 53
3.4.3 <jsp:forward> 55
3.4.4 <jsp:setProperty> 57
3.4.5 <jsp:getProperty> 58
3.4.6 <jsp:useBean> 59
3.4.7 <jsp:plugin> 63
3.4.8 <jsp:fallback> 67
3.5 小结 67
第4章 JSP内建对象及其实例讲解 68
4.1 内建对象的介绍 68
4.1.1 out 69
4.1.2 request 71
4.1.3 response 73
4.1.4 session 75
4.1.5 pageContext 77
4.1.6 application 80
4.1.7 config 81
4.1.8 page 83
4.1.9 exception 83
4.2 内建对象的使用实例 84
4.2.1 准备工作 85
4.2.2 编程实现 86
4.2.3 测试 90
4.3 小结 91
第5章 在JSP中使用JavaBean 92
5.1 JavaBean的基本概念 92
5.1.1 JavaBean的属性 92
5.1.2 JavaBean的方法 95
5.2 在JSP中使用JavaBean 95
5.3 在JavaBean中连接数据库 98
5.3.1 JavaBean的开发 99
5.3.2 JSP页面的开发 101
5.4 小结 104
第6章 动态页面和用户会话 105
6.1 创建动态的内容 105
6.1.1 根据时间的动态 105
6.1.2 根据用户类型的动态 106
6.1.3 根据用户自定义信息的动态 107
6.1.4 根据数据库内容的动态 107
6.2 用户会话跟踪 107
6.2.1 会话跟踪的概念 107
6.2.2 实例开发 108
6.2.3 测试 115
6.3 小结 116
第7章 Servlet技术 117
7.1 Servlet介绍 117
7.1.1 什么是Servlet 117
7.1.2 Servlet技术的特点 117
7.1.3 Servlet的生命周期 118
7.1.4 开发、部署一个简单的Servlet 118
7.2 Servlet常用接口的使用 120
7.2.1 Servlet实现相关 120
7.2.2 Servlet配置相关 121
7.2.3 Servlet异常相关 122
7.2.4 请求和响应相关 122
7.2.5 会话跟踪 123
7.2.6 Servlet上下文 124
7.2.7 Servlet协作 124
7.2.8 过滤 125
7.3 使用HttpServlet处理客户端请求 125
7.4 获得Servlet初始化参数 128
7.5 Servlet的配置 130
7.5.1 Servlet的名字、类和其他杂项 131
7.5.2 初始化参数 132
7.5.3 启动装入优先级 132
7.5.4 Servlet的映射 133
7.5.5 运行安全设置 133
7.6 用Servlet生成动态图片 134
7.7 小结 135
第8章 创建Web监听和过滤程序 136
8.1 Servlet上下文监听 136
8.2 监听HTTP会话 138
8.3 对请求监听 143
8.4 开发Web应用过滤器 144
8.4.1 Filter的开发 145
8.4.2 配置 148
8.5 小结 149
第9章 JSP和Servlet结合的方法 150
9.1 JSP技术使用的两种模式 150
9.1.1 模式一:JSP+JavaBean 150
9.1.2 模式二:JSP+Servlet+JavaBean 150
9.1.3 两种模式的比较 151
9.1.4 JSP和Servlet的选择 151
9.2 两种模式的使用实例 152
9.2.1 案例说明 152
9.2.2 模式一(JSP+JavaBean) 153
9.2.3 模式二(JSP+JavaBean+Servlet) 159
9.2.4 两种模式的技术特点 165
9.3 小结 166
第10章 JSP开发中的常用技巧 167
10.1 在不同页面或者用户之间共享数据 167
10.1.1 在不同页面之间共享数据 167
10.1.2 在不同用户之间共享数据 172
10.2 创建错误处理页面 173
10.2.1 在JSP中声明出错页面 174
10.2.2 建立错误代码和错误页面 178
10.3 国际化问题 179
10.3.1 HTML中的字符实体 180
10.3.2 Unicode 181
10.3.3 使用配置文件实现国际化 181
10.3.4 支持多国语言的HelloWorld 184
10.3.5 中文乱码问题的处理 187
10.4 JSP操作文件 190
10.4.1 读取文件内容 190
10.4.2 写入内容到文件 192
10.5 在JSP中上传文件 193
10.6 小结 195
第11章 自定义标签库的开发 196
11.1 标签语言的介绍 196
11.2 HelloWorld标签开发 197
11.2.1 实现Tag接口 198
11.2.2 从TagSupport继承 201
11.3 开发带Body的标签库 203
11.4 多个标签的嵌套 207
11.5 开发迭代的标签库 211
11.6 SimpleTag的开发 215
11.6.1 HelloWorld 216
11.6.2 实例开发 217
11.7 小结 219
第12章 标准标签库(JSTL) 220
12.1 JSTL介绍和编程举例 220
12.1.1 JSTL介绍 220
12.1.2 JSTL编程举例 221
12.2 一般用途的标签 222
12.2.1 <c:out> 222
12.2.2 <c:set> 224
12.2.3 <c:remove> 226
12.2.4 <c:catch> 227
12.3 条件标签 228
12.3.1 <c:if> 228
12.3.2 <c:choose> 229
12.3.3 <c:when> 229
12.3.4 <c:otherwise> 230
12.3.5 自定义逻辑 231
12.4 迭代标签 232
12.4.1 <c:forEach> 232
12.4.2 <c:forTokens> 237
12.5 URL相关的标签 238
12.5.1 <c:import> 238
12.5.2 <c:redirect> 240
12.5.3 <c:url> 241
12.5.4 <c:param> 242
12.6 XML标签 243
12.6.1 XML核心动作 243
12.6.2 XML流程控制动作 246
12.7 SQL相关的标签 249
12.7.1 <sql:setDataSource> 249
12.7.2 <sql:query> 251
12.7.3 <sql:update> 254
12.7.4 <sql:transaction> 255
12.7.5 <sql:param> 257
12.8 小结 258
第13章 表达式语言 259
13.1 表达式语言 259
13.1.1 概念 259
13.1.2 变量 260
13.1.3 隐含对象 260
13.1.4 字面量(Literals) 260
13.1.5 操作 260
13.1.6 保留字 261
13.1.7 表达式语法举例 261
13.1.8 函数 262
13.1.9 表达式编程举例 264
13.2 表达式语言和JSTL综合使用实例 265
13.3 小结 270
第3篇 数据库技术 273
第14章 数据库和JDBC技术 273
14.1 数据库和常用的SQL语句 273
14.2 JDBC技术和驱动程序 276
14.2.1 JDBC介绍 276
14.2.2 数据库驱动器程序 277
14.3 JDBC常用接口使用介绍 279
14.3.1 Driver接口 279
14.3.2 DriverManager 279
14.3.3 Connection 281
14.3.4 Statement 283
14.3.5 ResultSet 284
14.4 配置和连接不同的数据库 285
14.4.1 配置数据库 285
14.4.2 连接到不同的数据库 288
14.5 小结 291
第15章 在JSP和Servlet中使用JDBC 292
15.1 在JSP中使用JDBC访问数据库 292
15.1.1 添加数据 292
15.1.2 查询数据库 294
15.1.3 更新数据 295
15.1.4 删除数据 296
15.1.5 高级操作 296
15.1.6 其他操作 299
15.2 JSP通过JavaBean访问数据库 300
15.3 在Servlet中使用JDBC访问数据库 303
15.4 JSP数据库开发实例 306
15.4.1 案例介绍 306
15.4.2 案例开发 307
15.5 小结 322
第16章 JDBC数据库编程高级问题 323
16.1 数据源和连接池 323
16.1.1 连接池和数据源的概念 323
16.1.2 配置数据源 324
16.1.3 在JSP、Servlet中使用数据源 327
16.2 操作二进制数据 328
16.3 使用存储过程 331
16.4 分页显示的解决方案 334
16.4.1 JavaBean 334
16.4.2 JSP、Servlet 336
16.5 小结 339
第17章 数据库开发框架 340
17.1 直接使用JDBC的持久层方案 340
17.2 Hibernate概述 350
17.3 第一个Hibernate应用程序 351
17.3.1 开发前的准备工作 351
17.3.2 创建示例数据库 351
17.3.3 生成程序代码 351
17.3.4 编写测试代码 354
17.4 Hibernate配置 355
17.5 Hibernate基础类和概念 357
17.5.1 Configuration 357
17.5.2 SessionFactory 357
17.5.3 Session 357
17.6 Hibernate映射 358
17.7 Hibernate查询 360
17.8 小结 360
第4篇 Web框架 363
第18章 Struts 363
18.1 MVC及Struts介绍 363
18.1.1 MVC模式介绍 363
18.1.2 Struts框架介绍 364
18.1.3 配置Struts应用 365
18.2 开发第一个Struts应用 368
18.2.1 Form、Action和JavaBean 369
18.2.2 开发JSP 372
18.2.3 配置、运行 373
18.3 Struts标签库 374
18.3.1 Struts的标签 374
18.3.2 HTML标签库 375
18.3.3 Bean标签库 380
18.3.4 Logic标签库 382
18.4 Struts综合应用的开发举例 384
18.4.1 案例介绍 384
18.4.2 增加雇员 385
18.4.3 增加部门 392
18.4.4 查看所有的雇员 399
18.4.5 查看所有的部门 400
18.4.6 部门管理 401
18.4.7 配置、运行 406
18.5 Struts开发实践分析 407
18.5.1 Struts技术分析 407
18.5.2 Struts项目分析 408
18.6 小结 409
第19章 JavaServer Face 410
19.1 JavaServer Face技术介绍 410
19.1.1 JavaServer Face技术背景 410
19.1.2 什么是JavaServer Face技术 410
19.1.3 和Struts的比较 411
19.2 JavaServer Face模式与请求处理生命周期 411
19.2.1 JSF模式 411
19.2.2 JSF请求处理生命周期 413
19.3 JSF组件 414
19.3.1 UI组件 414
19.3.2 数据验证 415
19.3.3 数据转换 417
19.3.4 事件与监听器 418
19.3.5 渲染器 419
19.4 开发JavaServer Face应用 419
19.4.1 准备工作 419
19.4.2 开发 420
19.4.3 配置、运行 423
19.5 小结 424
第20章 Spring 426
20.1 Spring概述 426
20.1.1 Spring的任务范围 426
20.1.2 IoC容器 426
20.2 第一个Spring应用程序 428
20.2.1 开发前的准备工作 428
20.2.2 编写第一个Spring应用程序 428
20.2.3 编写测试代码 429
20.2.4 Setter Injection 430
20.3 Bean文件的几种不同的加载方式 431
20.3.1 编写BeanFile代码程序 432
20.3.2 编写配置文件 432
20.3.3 编写测试代码 434
20.4 小结 436
第21章 Web开发框架分析 437
21.1 Web开发框架介绍 437
21.1.1 Web开发框架概述 437
21.1.2 Tapestry 437
21.1.3 WebWork 438
21.1.4 其他开发框架 440
21.2 Web开发框架总结 440
21.3 小结 441
第5篇 Ajax 445
第22章 Ajax技术概述 445
22.1 Ajax诞生背景 445
22.2 Ajax概述 445
22.2.1 Aiax定义 445
22.2.2 Ajax有什么不同 446
22.2.3 Ajax适用的场合 447
22.2.4 Ajax的缺陷 449
22.3 Ajax相关技术 449
22.3.1 JavaScript 450
22.3.2 XMLHttpRequest 450
22.3.3 CSS 450
22.3.4 DOM 450
22.4 小结 451
第23章 Ajax开发入门 452
23.1 使用XMLHttpRequest对象 452
23.1.1 XMLHttpRequest对象方法和属性 452
23.1.2 Ajax简单交互流程示例 453
23.1.3 发送请求参数 455
23.2 文档对象模型 457
23.2.1 W3C DOM 457
23.2.2 DOM基本对象和方法 457
23.2.3 利用DOM动态修改网页内容 459
23.3 开发实例 459
23.3.1 背景与分析 459
23.3.2 服务器端实现 460
23.3.3 客户端实现 463
23.4 小结 468
第24章 Ajax框架 469
24.1 浏览器端框架 469
24.1.1 Bindows 469
24.1.2 BackBase 470
24.1.3 Dojo 470
24.1.4 Rico 470
24.1.5 qooxdoo 470
24.1.6 Tibet 470
24.1.7 AJFORM 471
24.1.8 AjaxCaller 471
241.9 Flash JavaScript Integration Kit 471
24.1.10 Google AJAXSLT 471
24.1.11 HTMLHttpRequest 471
24.1.12 Interactive Website Framework 472
24.1.13 LibXMLHttpRequest 472
24.1.14 MAJAX 472
24.1.15 RSLite 472
24.1.16 Sack 472
24.1.17 Sarissa 472
24.1.18 XHConn 473
24.2 服务器端框架 473
24.2.1 JavaScript Object Notation(JSON)和JSON-RPC 473
24.2.2 JavaScript Remote Scripting(JSRS)(2000年) 473
24.2.3 WebORB for Java 473
24.2.4 Echo 2 474
24.2.5 Direct Web Remoting(DWR) 474
24.2.6 SWATO 474
24.2.7 Ajax JSP Tag Library 474
24.2.8 Ajax Java Server Faces Framework 475
24.3 小结 475
第6篇 JSP在实际中的使用 479
第25章 实用JSP开发技巧 479
25.1 树状菜单的生成 479
25.1.1 实现思路简述 479
25.1.2 实现树状菜单 480
25.2 布局设计 490
25.2.1 框架 490
25.2.2 风格 491
25.3 小结 497
第26章 网站总体设计 498
26.1 案例的介绍 498
26.2 创建和配置站点 498
26.3 建立和配置数据库 500
26.4 页面框架和公用页面 503
26.4.1 页面框架 503
26.4.2 页面风格 504
26.4.3 错误处理页面 504
26.4.4 经常使用的include文件 505
26.5 配置 506
26.6 创建公用组件 506
26.7 测试配置是否成功 508
26.7.1 测试JSP 508
26.7.2 测试连接池 509
26.7.3 测试JSTL 509
26.8 小结 510
第27章 购物车 511
27.1 后台业务逻辑 511
27.1.1 Product 511
27.1.2 Item 512
27.1.3 CartItem 513
27.1.4 Cart 515
27.1.5 CartFunction 517
27.2 添加商品 519
27.2.1 解释 519
27.2.2 代码 519
27.3 查看购物车状态 520
27.3.1 解释 520
27.3.2 代码 520
27.4 删除商品 522
27.4.1 解释 522
27.4.2 代码 522
27.5 清空购物车 523
27.5.1 解释 523
27.5.2 代码 523
27.6 更新商品数量 523
27.6.1 解释 523
27.6.2 代码 523
27.7 小结 524
第28章 论坛 525
28.1 案例介绍 525
28.2 JavaBean开发 526
28.2.1 TopicVO 526
28.2.2 TopicBean 527
28.2.3 PageBusiness 529
28.2.4 PageBean 530
28.2.5 ForumBean 531
28.3 Servlet开发 532
28.3.1 DeleteTopicServlet 533
28.3.2 EditTopicServlet 534
28.3.3 ForumServlet 535
28.3.4 NewTopicServlet 536
28.3.5 ReplyTopicServlet 537
28.4 JSP开发 539
28.4.1 newTopic.jsp 539
28.4.2 viewForum.jsp 540
28.4.3 reply.jsp 541
28.4.4 editTopic.jsp 542
28.4.5 viewDetail.jsp 543
28.5 小结 545