第一部分 Java Web应用开发体系与环境配置 1
第1章 Java Web开发体系与环境配置 1
1.1 软件编程体系简介 1
1.1.1 单机软件 1
1.1.2 C/S软件 3
1.1.3 B/S软件 4
1.2 B/S结构编程技术 5
1.2.1 网站和网页 6
1.2.2 B/S结构的主流编程技术 7
1.3 企业级应用开发架构 8
1.3.1 两层架构 8
1.3.2 三层架构 9
1.3.3 N层架构 9
1.3.4 开发架构比较 9
1.4 软件工程的本质 10
1.4.1 瀑布模型 10
1.4.2 快速原型 10
1.4.3 喷泉模型 11
1.4.4 螺旋模型 11
1.4.5 XP和软件开发本质论 12
1.5 面向对象的项目分析与设计 13
1.5.1 面向对象建模语言与建模工具 13
1.5.2 系统分析与用例图 14
1.5.3 系统设计与动态图 16
1.6 软件项目开发过程标准 18
1.6.1 ISO9001简介 18
1.6.2 CMM简介 18
1.6.3 CMM的5个级别 19
1.7 Java应用开发体系 20
1.7.1 JavaSE体系概述 20
1.7.2 JavaME体系概述 20
1.7.3 JavaEE体系概述 21
1.8 JavaEE的N层体系结构 23
1.8.1 N层开发架构 23
1.8.2 N层架构的优点 24
1.9 JavaEE常用应用开发环境介绍 24
1.9.1 Web服务器 24
1.9.2 数据库服务器 26
1.9.3 集成开发环境 27
1.10 Java Web开发环境的安装配置 28
1.10.1 配置Java运行环境 28
1.10.2 配置JSP运行环境 33
1.10.3 配置Tomcat 38
1.10.4 JSP的基本目录结构 42
小结 43
思考和练习 43
第二部分 Java Web开发体系的主要技术 44
第2章 Servlet编程技术 44
2.1 Servlet技术基础 44
2.1.1 Servlet技术简介 44
2.1.2 Servlet的编译和部署 45
2.1.3 扩展的案例 49
2.2 Servlet API基础 52
2.2.1 Servlet API的概貌 52
2.2.2 Servlet的生命周期 53
2.2.3 Servlet的基本结构 54
2.2.4 线程同步问题 57
2.3 与运行环境相关的Servlet API 60
2.3.1 ServletConfig的用法 60
2.3.2 ServletContext的用法 61
2.3.3 综合案例 61
2.3.4 预装载Servlet 65
2.3.5 Servlet映射 65
2.4 请求和响应的处理 65
2.4.1 POST和GET 65
2.4.2 HttpServletRequest接口的方法 66
2.4.3 HttpServletResponse接口的方法 69
2.5 向浏览器输出 69
2.5.1 输出普通文本 69
2.5.2 输出HTML内容 81
2.5.3 国际化问题 84
2.6 表单的处理 92
2.6.1 基本表单域的接收 92
2.6.2 原始表单数据的分析和处理 99
2.6.3 表单的验证 101
2.6.4 表单处理的技巧 108
2.7 HTTP请求的处理 115
2.7.1 请求重定向 115
2.7.2 页面自刷新 116
2.7.3 页面定时跳转 116
2.7.4 生成Excel电子表格 117
2.8 RequestDispatcher接口 119
2.8.1 基本用法 119
2.8.2 请求转发 120
2.8.3 请求包含 121
2.9 会话跟踪和应用程序事件 122
2.9.1 HttpSession接口 122
2.9.2 会话的基本应用 123
2.9.3 利用会话共享数据 126
2.9.4 URL编码 131
2.9.5 Cookie的使用 132
2.9.6 应用程序事件 136
2.10 过滤技术的基础知识 140
2.10.1 过滤器的编写和部署 140
2.10.2 最简单的过滤器 142
2.10.3 请求过滤器 145
2.11 过滤技术的应用 149
2.11.1 含有过滤器的客户服务器模型 149
2.11.2 客户端请求的拦截和分析 151
2.11.3 服务器端响应的封装 157
小结 168
思考和练习 168
第3章 JSP编程技术 169
3.1 JSP页面元素与隐含对象 169
3.1.1 隐含对象 169
3.1.2 理解服务器端执行 170
3.1.3 JSP的页面结构 171
3.1.4 JSP的表达式 172
3.1.5 注释 172
3.1.6 JSP和Servlet的对应 173
3.2 JSP的编译指令 175
3.2.1 page指令 175
3.2.2 include指令 178
3.2.3 taglib指令 178
3.3 JSP的标准动作 179
3.3.1 <jsp:include>动作 179
3.3.2 <jsp:forward>动作 181
3.3.3 <jsp:param>动作 182
3.3.4 <jsp:plugin>动作 183
3.4 JSP的应用实例 183
3.4.1 禁用缓冲区 183
3.4.2 编码转换 183
3.4.3 config的使用 184
3.4.4 Cookie的使用 187
3.4.5 return语句 188
3.4.6 session的使用 189
3.4.7 application的使用 192
3.4.8 基于文本的计数器 194
3.4.9 JSP操作文件 195
3.4.10 为JSP文件配置别名访问 200
小结 201
思考和练习 201
第4章 JavaBean组件技术 202
4.1 组件技术概述 202
4.1.1 组件和容器 202
4.1.2 Bean开发工具 202
4.2 JavaBean简介 202
4.2.1 JavaBean编程 203
4.2.2 JavaBean的特点 203
4.2.3 JavaBean的属性 204
4.2.4 JavaBean的基本方法 204
4.2.5 JavaBean的运行原理 205
4.3 JavaBean的常规应用 211
4.3.1 表单Bean 211
4.3.2 页面Bean 215
4.4 共享Bean 216
4.4.1 对象范围 216
4.4.2 page范围的Bean 217
4.4.3 请求Bean 217
4.4.4 会话Bean 218
4.4.5 应用程序Bean 219
小结 220
思考和练习 220
第5章 Java Web开发体系主要技术的协作 221
5.1 自定义JSP标记库 221
5.1.1 写一个自定义标记 221
5.1.2 关于自定义标记 224
5.2 面向对象的设计模式 225
5.2.1 Factory模式 225
5.2.2 Singleton模式 229
5.2.3 Fa?ade模式 229
5.2.4 MVC架构模式 230
5.3 JSP设计模式 230
5.3.1 模式一JSP+JavaBean模式 230
5.3.2 模式二MVC模式 231
5.4 MVC在JSP中的实现模型 231
5.4.1 基于Bean的MVC模型 231
5.4.2 基于Struts的MVC模型 236
5.5 JSP编程建议 237
5.5.1 最佳设计原则 238
5.5.2 可维护的JSP编码标准 239
5.5.3 基本调试方法 242
5.5.4 应用程序的性能考虑 242
小结 243
思考和练习 243
第三部分 Java Web数据库访问技术 244
第6章 JDBC数据库访问技术 244
6.1 数据库应用开发简介 244
6.1.1 SQL语言 244
6.1.2 ODBC数据访问接口 244
6.1.3 JDBC数据访问接口 245
6.1.4 JDBC的四种类型 245
6.2 JDBC数据库访问的基本方法 246
6.3 JDBC数据库访问的简单案例 258
6.3.1 连接Access数据库(ODBC数据源模式) 258
6.3.2 连接Access数据库(Access驱动模式) 261
6.3.3 访问Excel表格 263
6.3.4 访问文本文件(ODBC数据源模式) 266
6.3.5 连接MySQL数据库(第一种方法) 270
6.3.6 连接MySQL数据库(第二种方法) 272
6.3.7 连接SyBase、DB2、Informix、PostgreSQL、JDataStore数据库 274
6.4 JDBC数据库访问的典型应用 275
6.4.1 模糊检索 275
6.4.2 分页 279
6.4.3 登录、验证和页面保护 283
6.4.4 使用JavaBean访问数据库 289
6.5 事务处理 292
6.5.1 事务处理的概念 292
6.5.2 事务处理的实现 293
6.5.3 分布式事务处理 296
6.6 数据源 296
6.6.1 连接池(ConnectionPool) 296
6.6.2 数据源(DataSource) 296
6.7 PreparedStatement接口 302
6.7.1 基本原理 302
6.7.2 使用方法 302
6.7.3 大对象的操作 305
6.8 CallableStatement接口 313
6.8.1 基本原理 313
6.8.2 基本步骤 313
6.9 JDBC的局限性 314
小结 315
思考和练习 315
第7章 JSP操作Oracle数据库 316
7.1 Oracle数据库的常识 316
7.2 Oracle数据库的基础知识 316
7.2.1 Oracle的用户与表空间 316
7.2.2 创建和删除Oracle数据库表 318
7.2.3 Oracle数据库表的基本数据类型 319
7.2.4 表数据的完整性 323
7.2.5 NULL的处理 329
7.2.6 可视化创建数据表 331
7.2.7 序列 340
7.3 Oracle的存储过程 346
7.3.1 PL/SQL的基本概念 346
7.3.2 PL/SQL的存在形式 346
7.3.3 使用PL/SQL编写存储过程 348
7.4 JDBC访问Oracle 350
7.4.1 Oracle的JDBC驱动程序 350
7.4.2 使用thin驱动访问Oracle 350
7.4.3 使用oci驱动访问Oracle 352
7.4.4 调用Oracle存储过程 355
7.4.5 Oracle的大对象操作 357
小结 368
思考和练习 368
第8章 JSP操作SQLServer数据库 369
8.1 SQL Server数据库的常识 369
8.2 SQL Server中SQL语句的使用 369
8.2.1 创建数据库 369
8.2.2 删除数据库 371
8.2.3 创建数据库表 371
8.2.4 删除数据库表 373
8.3 SQL Server的内置函数 373
8.3.1 字符串函数 373
8.3.2 数学函数 374
8.3.3 日期和时间函数 375
8.3.4 系统函数 376
8.3.5 数据类型转换函数 376
8.3.6 ISNULL函数 376
8.4 数据完整性 377
8.4.1 使用Identity属性 377
8.4.2 使用Uniqueidentifier类型 378
8.4.3 主键约束 379
8.4.4 外键约束 379
8.4.5 唯一约束 380
8.4.6 非空约束 381
8.4.7 检查约束 382
8.4.8 默认约束 382
8.5 SQL Server的存储过程 383
8.5.1 存储过程的概念 383
8.5.2 创建SQL Server存储过程 383
8.6 SQL Server的触发器 387
8.6.1 触发器的概念 387
8.6.2 创建Insert触发器 388
8.6.3 创建Delete触发器 389
8.6.4 创建Update触发器 390
8.6.5 创建混合触发器 391
8.6.6 创建事务触发器 391
8.7 Oracle和SQL Server的对比 393
8.7.1 Select语句的使用 393
8.7.2 常用函数 394
8.8 JDBC访问SQL Server 395
8.8.1 使用JDBC-ODBC桥连接SQL Server 2000数据库 395
8.8.2 使用JDBC驱动程序连接SQL Server 399
8.8.3 JSP访问SQL Server的注意事项 403
8.8.4 调用SQL Server的存储过程 404
8.8.5 用JavaBean连接SQL Server 405
小结 408
思考和练习 408
第四部分 Java Web开发体系的其他重要技术 409
第9章 JSP操作XML文件 409
9.1 XML的概念 409
9.2 XML的书写 410
9.2.1 XML文档的结构 410
9.2.2 定义基本元素 412
9.2.3 使用属性 412
9.2.4 XML声明 413
9.2.5 注释 414
9.2.6 字符和实体引用 414
9.3 用CSS格式化XML 415
9.3.1 直接定义样式 415
9.3.2 标记选择符 416
9.3.3 用class引用样式 417
9.3.4 用id引用样式 417
9.3.5 在XML中定义样式 418
9.4 用XSL格式化XML 419
9.4.1 单模板XSL显示 419
9.4.2 多模板XSL显示 420
9.5 数据岛 422
9.5.1 内嵌数据岛 422
9.5.2 外调数据岛 424
9.5.3 四级XML文档 425
9.6 在XML文档中借用HTML标记 428
9.6.1 普通标记 428
9.6.2 表格 429
9.6.3 表单 430
9.6.4 脚本 430
9.7 XML的两种语法规则 431
9.7.1 DTD文档类型定义 431
9.7.2 Schema文档规则 433
9.8 字符集概述 434
9.8.1 ASCII字符集 434
9.8.2 ISO 8859字符集 434
9.8.3 Unicode字符集 434
9.8.4 中文字符集 435
9.8.5 UTF-8字符集 435
9.8.6 UTF-16字符集 436
9.9 XML的三种应用程序接口 436
9.9.1 解析接口 436
9.9.2 解析器 436
9.10 DOM解析接口 437
9.10.1 DOM的对象 437
9.10.2 DOM树结构 437
9.10.3 DOM读取XML文件 438
9.10.4 DOM创建XML节点 439
9.11 SAX解析接口 441
9.11.1 SAX的对象 441
9.11.2 SAX读取XML文件 442
9.12 JDOM解析接口 445
9.12.1 JDOM的对象 445
9.12.2 JDOM读取XML文件 445
9.13 三种解析接口的比较 448
小结 450
思考和练习 450
第10章 Java Web开发体系的其他实用技术 451
10.1 Ajax和JSP 451
10.1.1 对XMLHTTP对象的记忆 451
10.1.2 Ajax的基本应用方法 452
10.2 使用POI组件 457
10.2.1 POI简介 457
10.2.2 POI操作Excel文件的基本方法 457
10.2.3 使用POI创建Excel表 460
10.2.4 使用POI读取Excel表 461
10.3 Java Web Service基础 462
10.3.1 关于Web Service 462
10.3.2 建立Java Web Service 463
10.3.3 使用Java调用Java Web Service 464
10.3.4 使用.NET调用Java Web Service 465
10.4 常用函数 469
10.4.1 Random类与随机函数 469
10.4.2 replaceAll方法 473
10.4.3 时间函数 474
10.5 常用技术 476
10.5.1 MD5算法加密 476
10.5.2 文件上传 477
10.5.3 发送电子邮件 486
10.5.4 为图片添加水印 492
10.5.5 打包发布应用程序 495
小结 495
思考和练习 495
附录A SQL Server 2000企业版安装方法 496
附录B SQL Server 2000的基本操作 501
附录C Oracle9i企业版安装方法 516
附录D Oracle9i的常用操作界面 534
附录E MySQL 5.0.19的安装和设置 539
附录F MySQL 5.0.19的基本操作 544
附录G SQL语言基础 553
附录H 建立ODBC数据源 570
附录I Struts入门教程 574
参考文献 598