第1篇 Java Web开发基础篇第1章 Java Web开发概述 2
1.1 Java语言简介 2
1.1.1 Java语言概述 2
1.1.2 Java语言的特性 2
1.1.3 Java语言的发展历程 3
1.1.4 Java语言的发展前景 4
1.2 Java Web开发基本知识 4
1.2.1 Web应用程序的运行原理 4
1.2.2 Web服务器汇总 4
1.2.3 Java Web开发中的组件简介 5
1.3 .NET与J2EE两大主流平台简介 6
1.3.1 介绍.NET平台 7
1.3.2 介绍J2EE(Java的企业级版本) 7
1.4 常见问题及解答 7
1.5 小结 8
1.6 习题 8
第2章 搭建Java Web开发环境 9
2.1 下载安装JDK并配置环境变量 9
2.1.1 下载安装JDK 9
2.1.2 环境变量设置 10
2.2 用HelloWorld例子体验Java编译和运行 11
2.3 下载安装并测试Tomcat服务器 12
2.3.1 下载apache-tomcat-6.0.16 12
2.3.2 安装Tomcat 12
2.3.3 通过一个JSP文件测试Tomcat 12
2.4 安装MySQL数据库 13
2.4.1 下载MySQL 5.0 13
2.4.2 安装MySQL 5.0 14
2.4.3 安装MySQL数据库的JDBC驱动程序 15
2.5 Ant入门 15
2.5.1 下载并安装Ant 16
2.5.2 设置环境变量 16
2.5.3 分析Ant工程模板中的build.xml文件 17
2.5.4 分析Ant工程模板的目录结构 18
2.6 本章实例 20
2.6.1 编写一个JSP+MySQL的Java Web程序 20
2.6.2 使用Ant编译、部署示例2-3 22
2.7 上机实践 24
2.8 常见问题及解答 25
2.9 小结 26
2.10 习题 26
第3章 Eclipse入门 27
3.1 Eclipse概述 27
3.2 Eclipse开发环境的建立 27
3.2.1 Eclipse的下载和安装 27
3.2.2 下载和安装Tomcat插件 28
3.2.3 在Eclipse中集成Ant 29
3.3 用Eclipse开发一个简单的Java Web应用程序 31
3.4 上机实践 34
3.5 常见问题及解答 34
3.6 小结 35
3.7 习题 35
第2篇 JSP技术应用开发篇第4章 JSP技术概述 38
4.1 动态网页技术 38
4.1.1 ASP技术 38
4.1.2 PHP技术 39
4.1.3 JSP技术 40
4.2 JSP的运行原理 41
4.2.1 使用JSP出现的现象 41
4.2.2 根据现象揭示JSP的工作原理 43
4.3 为什么要使用JSP技术 45
4.4 开发第一个JSP页面 46
4.5 上机实践 48
4.6 常见问题及解答 49
4.7 小结 49
4.8 习题 49
第5章 JSP语法及应用分析 50
5.1 JSP文件的构成元素分析 50
5.1.1 一个典型的JSP文件 50
5.1.2 分析JSP文件中的注释 51
5.1.3 模板元素 52
5.1.4 脚本元素 53
5.1.5 指令元素 53
5.1.6 动作元素 54
5.2 脚本元素详解 54
5.2.1 脚本元素中的声明(Declaration) 54
5.2.2 脚本元素中的表达式(Expression) 55
5.2.3 脚本元素中的Scriptlet 55
5.3 指令元素详解 57
5.3.1 页面(page)指令元素 57
5.3.2 包含(include)指令元素 59
5.3.3 自定义标签(taglib)指令元素 61
5.4 动作元素详解 62
5.4.1 参数元素〈jsp:param〉 62
5.4.2 包含元素〈jsp:include〉 62
5.4.3 转发元素〈jsp:forward〉 64
5.4.4 属性设置元素〈jsp:setProperty〉 65
5.4.5 属性获取元素〈jsp:getProperty〉 66
5.4.6 JavaBean调用元素〈jsp:useBean〉 67
5.5 创建一个完整的JSP文件 69
5.6 上机实践 71
5.7 常见问题及解答 72
5.8 小结 72
5.9 习题 73
第6章 JSP内建对象讲解及实例讲解 74
6.1 内建对象介绍 74
6.1.1 使用out对象 74
6.1.2 使用request对象 75
6.1.3 使用response对象 76
6.1.4 使用sessioin对象 78
6.1.5 使用pageContext对象 80
6.1.6 使用application对象 82
6.1.7 使用exception对象 84
6.2 内建对象使用实例 85
6.2.1 不同页面数据共享 85
6.2.2 不同用户之间通信 87
6.3 上机实践 88
6.4 常见问题及解答 89
6.5 小结 89
6.6 习题 90
第7章 初步认识JavaBean 91
7.1 JavaBean基础 91
7.1.1 什么是JavaBean 91
7.1.2 JavaBean的特点 91
7.1.3 JavaBean的属性 92
7.1.4 JavaBean的方法 94
7.2 在JSP中使用JavaBean 94
7.3 使用JavaBean连接数据库 97
7.4 上机实践 101
7.5 常见问题及解答 102
7.6 小结 102
7.7 习题 102
第3篇 Servlet技术与Tomcat服务器篇第8章 Servlet基础 104
8.1 Servlet介绍 104
8.1.1 什么是Servlet 104
8.1.2 Servlet的特点 105
8.1.3 JSP与Servlet的关系 106
8.2 Servlet的生命周期 109
8.3 开发、部署一个简单的Servlet程序 110
8.4 上机实践 113
8.5 常见问题及解答 114
8.6 小结 115
8.7 习题 115
第9章 Servlet的配置与使用 116
9.1 Servlet的基本配置 116
9.1.1 Servlet的名字、类和其他杂项的设置 116
9.1.2 Servlet初始化参数的设置 117
9.1.3 启动装入优先级的设置 119
9.1.4 Servlet的映射 120
9.2 使用HttpServlet处理客户端请求 121
9.2.1 处理Get请求doGet 121
9.2.2 处理Post请求doPost 122
9.2.3 HttpServlet的高级处理方法 123
9.3 使用Servlet监听 123
9.3.1 监听Servlet上下文信息 124
9.3.2 监听HTTP会话信息 125
9.3.3 监听客户端请求信息 127
9.4 开发Web应用过滤器 129
9.5 使用Servlet开发一个编码过滤器 131
9.6 上机实践 132
9.7 常见问题及解答 133
9.8 小结 134
9.9 习题 134
第10章 JSP、JavaBean和Servlet的配合使用 135
10.1 两种模式的分工方法 135
10.1.1 模式一(JSP+JavaBean)分工方法 135
10.1.2 模式二(JSP+JavaBean+Servlet)分工方法 135
10.2 两种模式的比较 136
10.2.1 两种模式的特点 136
10.2.2 应用特征的比较 137
10.3 JSP+JavaBean实例分析 137
10.3.1 案例说明 137
10.3.2 表示留言数据的JavaBean 138
10.3.3 用于执行数据库操作的JavaBean 140
10.3.4 填写留言板的界面 142
10.3.5 处理添加留言的JSP页面 143
10.3.6 查看留言消息的JSP 144
10.3.7 使用Ant编译和部署程序 145
10.3.8 运行 146
10.4 JSP+JavaBean+Servlet实例分析 146
10.5 上机实践 152
10.6 常见问题及解答 155
10.7 小结 155
10.8 习题 155
第4篇 数据库技术与Hibernate篇第11章 数据库技术基本知识 158
11.1 主流数据库及常用SQL语句介绍 158
11.1.1 创建和删除数据库 158
11.1.2 创建和删除数据表 159
11.1.3 更改表的结构 160
11.1.4 向表中插入一条数据 160
11.1.5 从表中删除数据 160
11.1.6 更新表中的数据 161
11.1.7 创建和删除视图 161
11.2 JDBC技术及驱动程序概述 161
11.2.1 介绍JDBC 162
11.2.2 数据库驱动程序介绍 162
11.3 JDBC API使用介绍 163
11.3.1 使用Driver接口 163
11.3.2 使用DriverManager接口 164
11.3.3 使用Connection接口 165
11.3.4 使用Statement和PrepareStatement 165
11.3.5 使用ResultSet接口 166
11.4 本章实例 167
11.4.1 使用JDBC连接到MySQL 168
11.4.2 使用JDBC连接到SQL Server 2005 169
11.4.3 使用JDBC连接到SQL Server 2000 169
11.4.4 使用JDBC连接到Oracle 170
11.5 上机实践 170
11.6 常见问题及解答 171
11.7 小结 171
11.8 习题 171
第12章 使用JSP和Servlet调用JDBC 172
12.1 在JSP中使用JDBC访问数据库 172
12.1.1 JSP插入数据操作 172
12.1.2 JSP查询数据库操作 174
12.1.3 JSP更新数据操作 175
12.1.4 JSP删除数据操作 176
12.1.5 JSP其他数据库操作 176
12.2 JSP调用JavaBean访问数据库 177
12.3 在Servlet中使用JDBC访问数据库 180
12.4 使用JDBC实现数据分页显示 183
12.4.1 编写Servlet:PageCustomerServlet 183
12.4.2 编写JavaBean:PageBean、CustomerBean 184
12.4.3 编写JSP:pageContent、pagePlugin 186
12.4.4 运行分页显示实例 188
12.5 上机实践 188
12.6 常见问题及解答 189
12.7 小结 189
12.8 习题 189
第13章 Hibernate概述及实例分析 190
13.1 什么是数据持久化和ORM 190
13.2 Hibernate简介 191
13.3 配置Hibernate的开发环境 191
13.4 在线购物系统开发概述 192
13.5 开发在线购物系统 193
13.5.1 需求分析 193
13.5.2 概念机构设计 193
13.5.3 逻辑机构设计 194
13.6 创建JavaBean组件 195
13.7 创建Hibernate映射文件 197
13.8 创建Hibernate配置文件 199
13.9 创建数据库操作类:DBOperator 199
13.10 测试系统功能 203
13.11 上机实践 205
13.12 常见问题及解答 205
13.13 小结 206
13.14 习题 206
第14章 Hibernate的体系结构及接口 207
14.1 熟悉Hibernate的体系结构 207
14.2 掌握Hibernate实体对象的生命周期 208
14.2.1 瞬态(Transient) 208
14.2.2 持久态(Persistent) 208
14.2.3 游离态(Detached) 209
14.2.4 实体对象的状态转换 209
14.3 学会使用Hibernate API 212
14.3.1 使用Configuration类 212
14.3.2 使用SessionFactory接口 213
14.3.3 使用Session接口 213
14.3.4 使用Transaction接口 214
14.3.5 使用Query接口 214
14.3.6 使用Criteria接口 216
14.4 本章实例 216
14.5 上机实践 218
14.6 常见问题及解答 218
14.7 小结 219
14.8 习题 219
第15章 Hibernate的映射技巧 220
15.1 映射文件的配置 220
15.1.1 映射文件的格式 220
15.1.2 装载映射文件 223
15.2 映射一对多关联关系 224
15.2.1 多对一单向关联 224
15.2.2 实现双向关联 227
15.3 映射多对多关联关系 230
15.3.1 映射单向多对多关联 230
15.3.2 映射双向多对多关联 233
15.4 映射一对一关联关系 234
15.5 映射继承关系 237
15.6 本章实例 240
15.7 上机实践 242
15.8 常见问题及解答 243
15.9 小结 243
15.10 习题 244
第16章 Hibernate事务处理和缓存管理 245
16.1 Hibernate的事务处理 245
16.1.1 数据库事务的概念 245
16.1.2 数据库的隔离级别 246
16.1.3 了解Hibernate中的事务处理 247
16.1.4 并发控制 248
16.2 管理Hibernate缓存 249
16.2.1 缓存的基本原理 249
16.2.2 Hibernate的二级缓存结构 250
16.2.3 管理Hibernate的第一级缓存 251
16.2.4 管理Hibernate的第二级缓存 252
16.3 本章实例 255
16.3.1 在Hibernate中使用悲观锁 256
16.3.2 在Hibernate中使用乐观锁 259
16.4 上机实践 260
16.5 常见问题及解答 261
16.6 小结 262
16.7 习题 262
第5篇 Struts 2架构详解篇第17章 MVC模式与Struts 2框架 264
17.1 MVC模式概述 264
17.1.1 MVC设计模式的思想 264
17.1.2 MVC处理请求的过程 265
17.1.3 MVC的优点 265
17.1.4 MVC和模式二(JSP+JavaBean+Servlet) 266
17.2 Struts 1简介 266
17.2.1 Struts 1的框架结构 266
17.2.2 Struts 1的处理流程 268
17.2.3 Struts 1的优缺点 268
17.3 Struts 2框架介绍 269
17.3.1 Struts 2的历史 269
17.3.2 Struts 2框架结构 269
17.3.3 Struts 2的配置文件 270
17.3.4 Struts 2控制器 272
17.3.5 Struts 2标签库 273
17.3.6 Struts 2和Struts 1的比较 273
17.4 常见问题及解答 274
17.5 小结 274
17.6 习题 274
第18章 Struts 2实例分析 275
18.1 搭建Struts 2开发环境 275
18.1.1 安装Struts 2 275
18.1.2 测试Struts 2是否正常工作 276
18.1.3 Struts 2和Eclipse集成 277
18.2 项目简介 278
18.3 编写配置文件 279
18.3.1 配置web.xml文件 279
18.3.2 配置struts.xml文件 280
18.4 创建控制器(Action类) 280
18.5 创建视图层 282
18.5.1 用于注册的register.jsp文件 282
18.5.2 用于显示注册成功的success.jsp 283
18.6 运行程序 283
18.7 使用ActionSupport类实现数据验证 284
18.8 运行验证 286
18.9 上机实践 286
18.10 常见问题及解答 287
18.11 小结 288
18.12 习题 288
第19章 Struts 2核心剖析 289
19.1 Struts 2的工作流程 289
19.2 Struts 2配置文件详解 295
19.2.1 web.xml的配置 295
19.2.2 struts.xml的配置 296
19.2.3 struts.properties配置文件 305
19.3 Struts 2的Action类 305
19.3.1 业务控制器Action的实现类 305
19.3.2 使用Struts 2框架提供的接口 307
19.3.3 使用Action类访问Servlet API 309
19.3.4 Action的配置 310
19.3.5 Action类方法的动态调用 311
19.4 拦截器 313
19.4.1 拦截器的思想 314
19.4.2 使用拦截器 314
19.5 Struts 2中使用ONGL 318
19.5.1 对象导航语言ONGL简介 318
19.5.2 Struts 2中使用ONGL 319
19.6 本章实例 321
19.7 上机实践 322
19.8 常见问题及解答 323
19.9 小结 323
19.10 习题 324
第20章 Struts 2框架技术 325
20.1 Struts 2的国际化操作 325
20.1.1 Struts 2实现国际化的原理 325
20.1.2 Struts 2实现国际化的一般步骤 326
20.1.3 使用不同范围的资源文件 331
20.1.4 加载资源文件的顺序 333
20.2 Struts 2的类型转换 334
20.2.1 预定义类型和日期类型的转换 334
20.2.2 复合类型的转换 336
20.2.3 复合类型集合的转换 339
20.2.4 Struts 2类型转换异常处理 341
20.3 Struts 2数据验证 341
20.3.1 使用validate()方法进行验证 341
20.3.2 使用配置文件进行验证 344
20.4 数据验证时国际化操作的实例分析 347
20.5 上机实践 349
20.6 常见问题及解答 351
20.7 小结 351
20.8 习题 351
第21章 Struts 2标签库 352
21.1 Struts 2标签库概述 352
21.1.1 什么是Struts 2标签 352
21.1.2 Struts 2标签库的组成 352
21.1.3 Struts 2标签库的使用 353
21.1.4 Struts 2和Struts 1标签的区别 354
21.2 Struts 2控制标签 354
21.2.1 循环标签iterator 354
21.2.2 选择标签if/elseif/else 357
21.2.3 集合连接标签append 358
21.2.4 子集标签subset 360
21.2.5 排序标签sort 361
21.3 数据标签 362
21.3.1 控制器调用标签action 362
21.3.2 JavaBean调用标签bean 364
21.3.3 值栈置顶标签push 366
21.3.4 调试标签debug 366
21.3.5 包含标签include 367
21.3.6 参数传递标签param 367
21.3.7 变量赋值标签set 367
21.3.8 地址标签url 368
21.3.9 值输出标签property 369
21.4 表单标签 369
21.4.1 复选框标签checkbox 369
21.4.2 复选框集合标签checkboxlist 370
21.4.3 组合框标签combobox 371
21.4.4 日期选择标签datetimepicker 372
21.4.5 下拉列表框标签select 373
21.4.6 单选框标签radio 374
21.4.7 选项组标签optgroup 374
21.4.8 其他常用表单标签 374
21.5 非表单标签 375
21.5.1 信息显示标签actionerrror和actionmessage 375
21.5.2 树形结构标签tree和treenode 376
21.6 本章实例 377
21.7 上机实践 379
21.8 常见问题及解答 379
21.9 小结 380
21.10 习题 380
第6篇 Spring框架及其使用篇第22章 Spring基础 382
22.1 Spring架构概述 382
22.2 Spring的特点 383
22.3 Spring开发环境的简单配置 384
22.3.1 下载Spring 384
22.3.2 简单介绍Spring包 384
22.3.3 在Eclipse中配置Spring 385
22.4 开发一个简单的Spring应用程序 387
22.4.1 编写接口文件Hello.Java 387
22.4.2 编写实现接口的类 388
22.4.3 创建Spring的配置文件config.xml 389
22.4.4 创建用于主函数类 389
22.4.5 运行程序 390
22.5 常见问题及解答 391
22.6 小结 391
22.7 习题 391
第23章 Spring的Web架构 392
23.1 第一个Spring MVC例子 392
23.1.1 配置web.xml文件 392
23.1.2 编写用于输出的页面 393
23.1.3 创建控制器 393
23.1.4 创建Spring的配置文件 394
23.1.5 运行Spring MVC示例 395
23.1.6 使用JSTL视图技术 395
23.1.7 使用Ant实现这个例子 396
23.2 Spring MVC的控制器 398
23.2.1 核心控制器DispatcherServlet 398
23.2.2 控制器接口Controller 399
23.2.3 表单控制器SimpleFormController 399
23.3 Spring MVC视图 401
23.3.1 模型视图类ModelAndView 402
23.3.2 支持不同的视图 403
23.4 使用拦截器 404
23.5 数据验证 407
23.6 Spring和Struts 2整合 408
23.6.1 整合原理 408
23.6.2 整合步骤 409
23.7 一个Spring+Struts 2的开发实例 410
23.8 上机实践 412
23.9 常见问题及解析 413
23.10 小结 414
23.11 习题 414
第24章 使用Spring操作数据库 415
24.1 Spring框架的事务处理 415
24.1.1 传统的JDBC事务处理 415
24.1.2 Spring框架的事务处理 416
24.2 数据源DataSource的注入 421
24.3 PlatformTransactionManager接口的作用 422
24.4 使用JdbcTemplate访问数据 424
24.4.1 Template模式简介 424
24.4.2 JdbcTemplate的实现方式 425
24.5 Spring+Hibernate实例分析 427
24.6 上机实践 431
24.7 常见问题及解答 433
24.8 小结 433
24.9 习题 433
第25章 Spring+Hibernate+Struts集成实例分析 434
25.1 项目需求和系统框架 434
25.1.1 项目需求概述 434
25.1.2 系统框架 434
25.2 数据库的设计 436
25.3 配置开发环境 436
25.3.1 web.xml文件的配置 436
25.3.2 Spring配置文件applicationContext.xml的配置 437
25.3.3 Struts 2配置文件struts.xml的配置 438
25.3.4 其他文件的配置 438
25.4 编写JavaBean组件 439
25.5 建立数据库访问组件(DBOperator) 439
25.5.1 定义接口Shopping 439
25.5.2 定义接口的实现类HibernateShopping 440
25.5.3 在Action类中调用HibernateShopping类 441
25.6 创建业务控制器 442
25.6.1 业务控制器的执行流程 442
25.6.2 在线购物系统Action类分析 445
25.7 创建视图组件 446
25.7.1 用户注册界面 446
25.7.2 修改用户信息界面 447
25.7.3 浏览商品详细信息界面 448
25.7.4 显示用户订单列表界面 449
25.8 运行在线购物系统 449
25.9 上机实践 450
25.10 常见问题及解答 450
25.11 小结 450
25.12 习题 451