第1章 JSP与Web技术概论 1
1.1 Web应用程序开发基础知识 2
1.1.1 HTTP通信协议概述 2
1.1.2传统的Web应用程序 3
1.1.3 Web结构 3
1.2静态网页与HTML 5
1.3交互式动态网页技术 6
1.3.1动态网页的程序语言 6
1.3.2在客户端执行的网页语言 6
1.3.3在服务器端执行的网页语言 7
1.4网站数据库技术 8
1.5 JSP与相关技术 9
1.5.1什么是JSP 10
1.5.2 JSP技术原理 11
1.5.3 JSP本质与Servlet 12
1.5.4 JSP与JavaBean 12
1.6软件编程体系简介 13
1.6.1 C/S结构编程体系 14
1.6.2 B/S结构编程体系 14
1.7企业应用开发架构 15
1.7.1两层架构 15
1.7.2三层架构 15
1.7.3 N层架构 15
1.7.4开发架构比较 15
1.7.5 J2EE简介 16
1.8 JSP知识体系及学习之路 18
1.8.1 JSP知识体系 18
1.8.2 JSP程序员学习路径 18
1.9小结 20
1.10习题 20
第2章 JSP的开发和运行环境 22
2.1 JSP的开发和应用平台介绍 23
2.1.1 Caucho公司的Resin平台 23
2.1.2 Apache公司的Tomcat平台 23
2.1.3 BEA公司的WebLogic平台 24
2.1.4 IBM WebSphere Application Server平台 24
2.2 Eclipse Java EE集成开发环境 25
2.2.1安装和配置JDK 25
2.2.2 Tomcat服务器 27
2.2.3 Eclipse Java EE开发环境搭建 32
2.3 MyEclipse开发环境 38
2.3.1 MyEclipse简介与下载 38
2.3.2 MyEclipse安装与使用 39
2.4其他JSP开发环境 45
2.4.1 IDEA开发环境 45
2.4.2 Adobe Dreamweaver 46
2.4.3 UltraEdit编辑器 47
2.5小结 47
2.6习题 48
第3章 JSP基本语法 50
3.1 JSP文件的结构 51
3.1.1创建第一个JSP文件 51
3.1.2分析JSP文件的组成元素 52
3.2 JSP的脚本元素 53
3.2.1隐藏注释 53
3.2.2 HTML注释 53
3.2.3声明 55
3.2.4脚本代码 57
3.2.5表达式 58
3.3 JSP指令元素 59
3.3.1 page指令 59
3.3.2 include指令 64
3.3.3 taglib指令 66
3.4 JSP动作元素 66
3.4.1 〈jsp:include〉 67
3.4.2 〈jsp:forward〉 70
3.4.3 〈jsp:param〉 72
3.4.4 〈jsp:useBean〉、〈jsp:setProperty〉和〈jsp:getProperty〉动作 73
3.4.5 〈jsp:plugin〉 81
3.5小结 83
3.6习题 83
第4章 JSP内置对象 86
4.1 JSP内置对象概述 87
4.2 request对象 88
4.2.1 request对象常用方法 88
4.2.2 request对象应用实例 89
4.3 response对象 95
4.3.1 response对象常用方法 96
4.3.2 response对象应用实例 96
4.4 out对象 103
4.4.1 out对象方法成员与数据输出 104
4.4.2缓冲区操作 105
4.4.3 out对象应用实例 105
4.5 session对象 107
4.5.1 session的概念 108
4.5.2 session对象的ID 108
4.5.3 session的有效期限 109
4.5.4访问session中的数据 109
4.5.5其他session对象的常用方法 110
4.5.6 session对象应用实例 110
4.6 application内置对象 116
4.6.1存取application中的数据 116
4.6.2使用application对象取得信息 117
4.6.3 application对象应用实例 118
4.7其他JSP内置对象 122
4.7.1 pageContext对象 122
4.7.2 config对象 124
4.7.3 page对象 127
4.7.4 exception对象 127
4.8小结 128
4.9习题 129
第5章 Cookie及会话追踪 132
5.1 Cookie的概念和特性 133
5.1.1什么是Cookie 133
5.1.2 Cookie的常见用途 134
5.2在JSP中使用Cookie 135
5.2.1创建Cookie 135
5.2.2读写Cookie 136
5.2.3 Cookie中的主要方法 137
5.2.4操作Cookie的常用方法 137
5.3 Cookie对象的应用实例 139
5.4会话与会话追踪 146
5.5实现会话追踪的4种方式 147
5.5.1 Cookies和URL重写 147
5.5.2隐藏表单字段 148
5.5.3使用内建session对象 148
5.6内建session对象的生命周期 150
5.6.1在web.xml中配置内建session对象的过期时间 150
5.6.2设置内建session对象的过期时间 150
5.7利用session存取功能实现简单购物车 152
5.8 小结 158
5.9习题 159
第6章 JavaBean和表单处理 162
6.1非MVC模式(Model1) 163
6.1.1 Model1的特点 163
6.1.2 Model1的应用范围 164
6.2 MVC编程模式(Model2) 164
6.2.1什么是MVC模式 164
6.2.2 MVC模式在Web编程中的应用 165
6.3剖析JavaBean 165
6.3.1什么是JavaBean 166
6.3.2 JavaBean的特征 167
6.3.3创建一个JavaBean 168
6.4在JSP中使用JavaBean 169
6.4.1调用JavaBean 170
6.4.2访问JavaBean属性 170
6.4.3设置JavaBean属性 170
6.4.4 JavaBean的生命周期 170
6.4.5类型自动转换规则 174
6.5使用JavaBean处理表单数据 174
6.5.1 JSP处理与form相关的常用标签简单实例 175
6.5.2设置中文编码 181
6.6小结 181
6.7习题 181
第7章 JSP中的文件操作 184
7.1数据流和File类 185
7.1.1数据流 185
7.1.2 File类 185
7.2读写文本文件 187
7.3文件的浏览 189
7.4创建和删除目录 190
7.5文件的上传和下载 191
7.6使用jspSmartUpload上传包 195
7.7使用Commons FileUpload上传包 197
7.8小结 199
7.9习题 199
第8章 应用JDBC进行数据库开发 202
8.1 JDBC概述 203
8.1.1 JDBC的用途 203
8.1.2 JDBC的典型用法 203
8.1.3 JDBC的体系结构 204
8.1.4驱动器类型 204
8.1.5安装驱动器 206
8.2 JDBC连接数据库的方法 206
8.3使用JDBC操作数据库 207
8.3.1使用JDBC访问数据库的过程 208
8.3.2使用Statement执行SQL语句 210
8.3.3 PreparedStatement接口 217
8.3.4 CallableStatement对象 220
8.3.5使用ResultSet处理结果集 225
8.4 Java与SQL的数据类型转换 229
8.5使用JDBC连接不同的数据库 231
8.5.1连接Oracle数据库 231
8.5.2连接DB2数据库 231
8.5.3连接SQL Server数据库 231
8.5.4连接Sybase数据库 232
8.5.5连接Access数据库 232
8.6连接池 232
8.6.1连接池的实现原理 232
8.6.2在Tomcat上配置数据源与连接池 233
8.6.3配置连接池时需要注意的问题 235
8.7存取二进制文件 236
8.7.1图像文件存取到数据库的过程 236
8.7.2声音文件存取到数据库的过程 240
8.7.3视频文件存取到数据库的过程 244
8.7.4保存图片文件路径到数据库的存取图片过程 248
8.8实现分页显示 251
8.8.1分页显示技术的优劣比较 251
8.8.2分页显示的JavaBean实现 252
8.9小结 258
8.10习题 258
第9章 JSP与JavaBean应用实例 261
9.1需求和设计 262
9.1.1功能介绍 262
9.1.2文件结构 262
9.1.3数据库设计 263
9.2使用JavaBean封装数据库的访问 263
9.3项目页面实现 265
9.4小结 282
第10章 Servlet基础 283
10.1 Servlet介绍 284
10.1.1什么是Servlet 284
10.1.2 Servlet技术特点 285
10.1.3 JSP与Servlet的关系 285
10.1.4 Servlet的工作原理 286
10.1.5 Servlet常用接口和类 286
10.2开发部署一个简单的Servlet 288
10.2.1创建Servlet文件 289
10.2.2 Servlet的配置文件 291
10.3 Servlet实现相关的接口和类 292
10.3.1 GenericServlet 293
10.3.2 HttpServlet 294
10.3.3 Servlet实现相关实例 295
10.4 Servlet请求和响应相关 298
10.4.1 HttpServletRequest接口 298
10.4.2 HttpServletResponse接口 300
10.4.3 Servlet请求和响应相关实例 301
10.5 Servlet配置相关 303
10.5.1 ServletConfig接口 303
10.5.2获取Servlet配置信息的例子 303
10.6 Servlet中的会话追踪 307
10.6.1 HttpSession接口 307
10.6.2 HttpSession应用实例 309
10.7 Servlet上下文 311
10.7.1 ServletContext接口 311
10.7.2 ServletContext接口的应用实例 312
10.8 Servlet协作 313
10.8.1 RequestDispatcher 313
10.8.2 forward()控制页面跳转 314
10.8.3 include()控制页面包含 315
10.9 Servlet异常相关 316
10.9.1声明式异常处理 316
10.9.2程序式异常处理 319
10.10 Servlet 3.0注解 322
10.10.1开发Servlet 3.0程序所需要的环境 322
10.10.2开发Servlet 3.0程序 322
10.11 Servlet应用实例 325
10.12小结 333
10.13习题 333
第11章 使用Servlet过滤器和监听器 337
11.1过滤器在Web开发中的应用 338
11.1.1过滤器概述 338
11.1.2 Filter API 338
11.1.3 Filter接口 339
11.1.4 FilterConfig接口 340
11.1.5 FilterChain接口 340
11.1.6编写过滤器类 340
11.1.7过滤器的部署 342
11.1.8对请求数据进行处理的过滤器 345
11.1.9过滤器新增@WebFilter注解 350
11.2 Servlet监听器 351
11.2.1监听器接口 351
11.2.2 ServletRequestListener接口 352
11.2.3 ServletRequestAttributeListener接口 353
11.2.4 ServletContextListener接口 353
11.2.5 ServletContextAttributeListener接口 355
11.2.6 HttpSessionAttributeListener接口 357
11.2.7 HttpSessionBindingListener接口 359
11.2.8 监听器新增@WebListener注解 364
11.3小结 365
11.4习题 365
第12章 JSTL标准标签库 368
12.1 EL表达式语言 369
12.1.1 EL与EL隐含对象 369
12.1.2在EL中访问JSP隐含对象的getXXX()方法 373
12.1.3用EL访问JavaBean中的属性 373
12.2 JSTL标签库简介 374
12.3设置JSTL运行环境 375
12.3.1 JSTL的安装 375
12.3.2 JSTL应用示例 375
12.4使用核心标签 376
12.4.1表达式操作 377
12.4.2建立URL 380
12.4.3条件控制 383
12.4.4迭代—运行循环 385
12.5使用JSTL的数据库标签 387
12.5.1指定数据源 388
12.5.2进行查询或更新操作 388
12.5.3对返回的结果进行处理 391
12.5.4其他SQL标签库的标签 392
12.6 i18n与国际化 393
12.6.1国际化设置标签 393
12.6.2消息标记库 394
12.6.3数字、日期格式化 396
12.7函数标签 399
12.8小结 399
12.9习题 400
第13章 自定义标签库 403
13.1自定义标签体系介绍 404
13.1.1标签的形式 404
13.1.2标签类相关接口和类 405
13.1.3标签库描述文件 409
13.1.4在Web部署描述符中引入标签库文件 411
13.1.5在页面中使用标签 411
13.1.6标签在Web页面中的作用 412
13.2传统标签的开发 412
13.2.1带属性标签的开发 412
13.2.2带Body标签的开发 415
13.2.3嵌套标签的开发 417
13.2.4迭代标签的开发 420
13.3 Simple标签的开发 423
13.3.1 SimpleTag接口 423
13.3.2 Simple标签的开发示例 424
13.4小结 425
13.5习题 425
第14章 网上书店 427
14.1快乐购书网介绍 428
14.2系统需求和设计 428
14.3数据库表设计 428
14.4 JSP页面开发 429
14.5 JavaBean开发 431
14.5.1使用Java Bean封装数据库的访问 431
14.5.2购物车JavaBean 432
14.6 Servlet开发 432
14.6.1普通Servlet开发 433
14.6.2 Listener开发 434
14.6.3 Filter开发 435
14.7其他bean类——Util 435
14.8部署描述符 436
14.9小结 438
14.10习题 439
第15章 调查问卷管理系统 440
15.1系统介绍 441
15.2系统需求分析 441
15.3系统功能结构 442
15.4数据库设计 442
15.4.1数据库逻辑结构设计 442
15.4.2数据库表的设计 443
15.4.3数据库相关脚本 444
15.5系统实现 445
15.5.1 JavaBean 445
15.5.2 Servlet 445
15.5.3系统界面 447
15.5.4用户管理 448
15.5.5调查问卷管理 454
15.5.6问题管理 460
15.6小结 467
第16章 Web应用开发实践 468
16.1系统介绍 469
16.2系统需求分析 469
16.3系统功能结构 469
16.4系统功能描述 470
16.4.1游客用户浏览模块 470
16.4.2管理员登录模块 473
16.4.3管理员管理模块 473
16.5数据库设计 477
16.5.1数据库逻辑结构设计 477
16.5.2数据库表的设计 478
16.5.3数据库相关脚本 479
16.6系统实现 480
16.6.1模块公用类 480
16.6.2 JavaBean 481
16.6.3 Servlet 484
16.6.4自定义标签 485
16.6.5前台界面的实现 490
16.6.6后台管理页面的实现 493
16.7小结 494
16.8习题 494
附录 实验 496
实验一 JSP应用开发基础(一) 496
实验二 JSP应用开发基础(二) 498
实验三 JSP应用开发进阶 502
实验四 JSP数据库编程基础 504
实验五 Servlet技术实验 506
实验六 Web应用开发 508