
本书由浅入深,结合大量实例系统地介绍了Java Web开发的知识。内容从基本操作到高级技术和核心原理,再到项目开发,几乎涉及Java Web开发的所有重点知识。本书还提供了典型习题及教学PPT,以方便教学。另外,配书光盘中还提供了本书配套教学视频和涉及的实例源代码。
本书共25章,分为6篇。第1篇介绍了Java Web开发中涉及的一些基本概念及搭建Java Web开发环境和My Eclipse的使用。第2篇介绍了JSP开发中涉及的各个知识点,如JSP语法、JSP内建对象和JavaBean等内容。第3篇介绍了Servlet的配置和使用。第4篇介绍了JDBC和Hibernate两种数据库技术,包括Hibernate体系和接口、Hibernate映射技巧、Hibernate事务处理和缓存管理技术。第5篇介绍了 Struts 2构架的MVC模式,并深入分析了Struts 2技术的构成、框架和标签库的应用。第6篇介绍了Spring框架在Java Web开发中的应用,包括Spring基础、Spring的Web框架和使用Spring操作数据库。最后以一个在线购物系统项目开发案例介绍了Spring+Hibernate+Struts 2的整合开发应用。
本书适合Java Web开发的初、中级读者阅读,也适合用Java Web三大框架进行开发的工程技术人员阅读。对于大中专院校的学生和培训班的学员,本书不失为一本好教材。
前 言
随着计算机技术的飞速发展以及Internet的广泛使用,越来越多的公司、单位和个人通过网站提供服务、公布信息、交流知识。在Web开发中,Java语言以其可扩展性、灵活性、可靠性和跨平台的特点,成为进行Web编程的首选。更重要的是,开源社区提供了一大批功能强大的框架技术,例如Struts 2、Spring、Hibernate等,它们使网站的开发更加方便和快捷。
笔者结合自己多年的Java Web开发经验和心得体会,花费了一年多的时间写作本书。希望读者能在本书的引领下跨入Java Web世界的大门,并成为一名开发高手。本书全面、形象、系统、深入地介绍了Java Web开发技术,并以大量实例贯穿于全书的讲解之中,最后还详细介绍了Struts 2、Hibernate和Spring3大框架的开发流程以及相互间的整合方法。通过本书的学习,读者能够具备独立进行项目开发的能力。
本书有何特色
1.配多媒体教学视频
本书提供大量的配套多媒体教学视频辅助学习,高效、直观,学习效果好。
2.内容全面、系统,
本书将Java Web开发的重要知识点都作了介绍,涉及JSP、Servlet、Hibernate、 Struts 2、Spring及SSH3大框架的整合使用。
3.讲解由浅入深,循序渐进
本书从Java Web基础开始讲解,逐步深入到Java Web的高级开发技术及应用,内容梯度从易到难,讲解由浅入深,循序渐进,适合各个层次的读者阅读,并会有所获。
4.写作细致,处处为读者着想
本书内容编排、概念表述、语法讲解、示例讲解及源代码注释等都很细致,作者讲解时不厌其烦,细致入微,将问题讲解得很清楚,扫清了读者的学习障碍。
5.贯穿大量的开发实例和技巧
本书在讲解知识点时贯穿了大量短小精悍的典型实例,并给出了大量的开发技巧,力求让读者获得真正实用的知识。
6.提供教学PPT,方便老师教学
本书适合大中专院校和职业学校作为职业技能培训的教学用书,所以专门制作了教学PPT,以方便各院校的老师教学时使用。
本书内容安排
第1篇 Java Web开发基础(第1~3章)
本篇主要讲解在Java Web开发中涉及的一些基本概念,以及如何搭建Java Web开发环境。其中,第3章着重讲解Java开发经典工具——MyEclipse的使用。
第2篇 JSP技术应用开发(第4~7章)
本篇详细讲解了JSP开发中涉及的各个知识点,如JSP语法、JSP内建对象、JavaBean技术等内容。
第3篇 Servlet技术与Tomcat服务器(第8~10章)
本篇主要讲解Servlet的配置和使用。其中,第10章着重讲解了Servlet如何与JSP和JavaBean协同开发。
第4篇 数据库技术与Hibernate(第11~16章)
本篇主要讲解Java Web开发中的JDBC和Hibernate两种数据库技术。其中,第13~16章着重讲解了Hibernate技术,内容包括Hibernate体系和接口、Hibernate映射技巧、Hibernate事务处理和缓存管理技术。
第5篇 Struts 2构架详解(第17~21章)
本篇讲解了MVC模式,并深入分析了Struts 2技术的构成、框架及标签库的应用。每个知识点都采用理论结合实例的方式进行讲解。
第6篇 Spring框架及其使用(第22~25章)
本篇详细讲解了Spring在Java Web开发中的应用。内容包括Spring基础、Spring的Web框架、使用Spring操作数据库,最后以一个典型案例讲解了Spring+Hibernate+Struts 2综合应用。
本书光盘内容
* 本书重点内容的配套教学视频;
* 本书实例涉及的源代码。
本书读者对象
* 从未接触过Java Web的初学者;
* 了解Java Web开发,希望进一步学习的自学者;
* 想学习一门技术,以方便找工作的求职者;
* Java Web开发爱好者;
* 大中专院校的学生和相关授课教师;
* 社会培训班学员;
* Java Web专业开发人员;
* 需要一本案头必备手册的程序员。
本书阅读建议
* 建议没有基础的读者,从前向后顺次阅读,尽量不要跳跃。
* 书中的实例和示例建议读者都要亲自上机动手实践,学习效果更好。
* 课后习题都动手做一做,以检查对本章内容的掌握程度,如果不能顺利完成,则建议回过头来重新学习一下本章内容。
* 学习每章内容时,建议读者先仔细阅读书中的讲解,然后再结合本章教学视频,学习效果更佳。
本书作者
本书由徐林林主笔编写。其他参与编写和资料整理的人员有陈世琼、陈欣、陈智敏、董加强、范礼、郭秋滟、郝红英、蒋春蕾、黎华、刘建准、刘霄、刘亚军、刘仲义、柳刚、罗永峰、马奎林、马味、欧阳昉、蒲军、齐凤莲、王海涛、魏来科、伍生全、谢平、徐学英、杨艳、余月、岳富军、张健和张娜。在此一并表示感谢!
阅读本书的过程中若有疑问,请发邮件到book@wanjuanchina.net或:bookservice2008@163.com。也可以到www.wanjuanchina.net的论坛上留言,以获得帮助。
编者
??
??
??
??
零点起飞学Java Web开发
·II·
·III·
目 录
第1篇 Java Web开发基础
第1章 Java Web开发概述( 教学视频:29分钟) 2
1.1 什么是Java语言 2
1.1.1 Java语言的发展 2
1.1.2 Java语言的特点 2
1.1.3 Java的应用领域 3
1.2 Java Web开发必备知识 3
1.2.1 什么是Web应用程序 3
1.2.2 Web服务器的种类 4
1.2.3 Java Web开发中的组件构成 4
1.3 Web应用程序开发 6
1.3.1 C/S与B/S开发模式 6
1.3.2 动态页面语言对比 7
1.4 小结 8
1.5 本章习题 8
第2章 搭建Java Web开发环境( 教学视频:20分钟) 9
2.1 安装JDK和JRE 9
2.1.1 下载安装JDK 9
2.1.2 设置环境变量 10
2.2 编译和运行Java程序 10
2.3 安装Tomcat服务器 11
2.3.1 下载安装Tomcat服务器 11
2.3.2 测试Tomcat服务器 14
2.4 安装MySQL数据库 14
2.5 小结 16
2.6 本章习题 17
第3章 MyEclipse使用简介( 教学视频:14分钟) 19
3.1 建立MyEclipse开发环境 19
3.1.1 MyEclipse的下载和安装 19
3.1.2 在MyEclipse中集成Tomcat服务器 21
3.2 创建MyEclipse中的JSP页面 23
3.3 发布和运行MyEclipse中的Web项目 24
3.4 小结 26
3.5 本章习题 26
第2篇 JSP技术应用开发
第4章 JSP技术概述( 教学视频:18分钟) 28
4.1 什么是JSP技术 28
4.2 JSP是如何工作的 29
4.2.1 使用JSP 29
4.2.2 JSP的工作原理 31
4.3 编写第一个JSP页面 33
4.4 小结 34
4.5 本章习题 35
第5章 JSP语法及应用( 教学视频:40分钟) 37
5.1 JSP文件是怎样构成的 37
5.1.1 分析典型的JSP文件 37
5.1.2 JSP文件中的注释 38
5.1.3 JSP文件中的模板元素 39
5.1.4 JSP文件中的脚本元素 39
5.1.5 JSP文件中的指令元素 40
5.1.6 JSP文件中的动作元素 40
5.2 脚本元素详解 41
5.2.1 脚本元素中的声明(Declaration) 41
5.2.2 脚本元素中的表达式(Expression) 42
5.2.3 脚本元素中的Scriptlet 42
5.3 指令元素详解 42
5.3.1 页面指令元素page 43
5.3.2 包含指令元素include 44
5.3.3 自定义标签指令元素taglib 45
5.4 动作元素详解 46
5.4.1 参数元素<jsp:param> 46
5.4.2 包含元素<jsp:include> 47
5.4.3 转发元素<jsp:forward> 48
5.4.4 属性设置元素<jsp:setProperty> 49
5.4.5 属性获取元素<jsp:getProperty> 50
5.4.6 JavaBean调用元素<jsp:useBean> 51
5.5 创建一个完整的JSP文件 54
5.6 小结 55
5.7 本章习题 55
第6章 JSP内建对象( 教学视频:33分钟) 58
6.1 内建对象详解 58
6.1.1 输出对象out 58
6.1.2 获取客户请求对象request 59
6.1.3 返回客户请求response 60
6.1.4 会话对象session 62
6.1.5 上下文对象pageContext 64
6.1.6 应用程序对象application 66
6.1.7 异常信息对象exception 68
6.2 内建对象实战 69
6.2.1 实现页面间数据共享 69
6.2.2 实现用户之间通信 71
6.3 小结 72
6.4 本章习题 72
第7章 JavaBean技术基础( 教学视频:16分钟) 75
7.1 JavaBean基础 75
7.1.1 什么是JavaBean 75
7.1.2 JavaBean的特性 75
7.1.3 JavaBean的属性 76
7.1.4 JavaBean的方法 78
7.2 在JSP中嵌入JavaBean 78
7.3 使用JavaBean连接数据库 81
7.4 小结 85
7.5 本章习题 85
第3篇 Servlet技术与Tomcat服务器
第8章 Servlet技术入门( 教学视频:20分钟) 90
8.1 Servlet介绍 90
8.1.1 什么是Servlet 90
8.1.2 Servlet的优势 91
8.1.3 JSP与Servlet 92
8.2 Servlet的生命周期 95
8.3 开发一个简单的Servlet程序 96
8.4 小结 98
8.5 本章习题 99
第9章 配置Servlet( 教学视频:39分钟) 101
9.1 Servlet基本配置 101
9.1.1 Servlet设置方法 101
9.1.2 设置Servlet初始化参数 102
9.1.3 配置启动优先级 104
9.1.4 建立Servlet映射 104
9.2 处理客户端请求 106
9.2.1 处理Get请求 106
9.2.2 处理Post请求 107
9.2.3 处理客户端特殊请求 108
9.3 配置Servlet监听器 108
9.3.1 监听Servlet上下文信息 109
9.3.2 监听HTTP会话信息 110
9.3.3 监听客户端请求信息 112
9.4 配置Servlet过滤器 114
9.5 开发编码过滤器 116
9.6 小结 117
9.7 本章习题 118
第10章 JSP+JavaBean+Servlet综合运用( 教学视频:25分钟) 122
10.1 两种模式的分工方法 122
10.1.1 JSP+JavaBean分工方法 122
10.1.2 JSP+JavaBean+Servlet分工方法 122
10.2 两种模式的比较 123
10.2.1 两种模式的特点 123
10.2.2 应用特征的比较 124
10.3 JSP+JavaBean应用实战 124
10.3.1 案例背景分析 124
10.3.2 处理留言数据的JavaBean 125
10.3.3 执行数据库操作的JavaBean 126
10.3.4 发表留言界面 128
10.3.5 处理添加留言的JSP页面 130
10.3.6 查看留言消息的JSP页面 131
10.3.7 示例运行 132
10.4 JSP+JavaBean+Servlet应用实战 132
10.5 小结 138
10.6 本章习题 138
第4篇 数据库技术与Hibernate
第11章 数据库技术基本知识( 教学视频:25分钟) 142
11.1 快速掌握数据库操作 142
11.1.1 创建/删除数据库 142
11.1.2 创建/删除数据表 143
11.1.3 插入数据 143
11.1.4 删除数据 144
11.1.5 更新数据 144
11.1.6 创建/删除视图 144
11.2 JDBC技术及驱动程序概述 145
11.2.1 什么是JDBC 145
11.2.2 数据库驱动程序概览 145
11.3 JDBC API的使用 146
11.3.1 驱动接口Driver 147
11.3.2 驱动管理接口DriverManager 147
11.3.3 数据库连接接口Connection 148
11.3.4 SQL语句容器接口Statement和PrepareStatement 148
11.3.5 记录集接口ResultSet 149
11.4 小结 150
11.5 本章习题 150
第12章 JSP+Servlet调用JDBC( 教学视频:15分钟) 154
12.1 在JSP中使用JDBC访问数据库 154
12.1.1 插入数据 154
12.1.2 查询数据 155
12.1.3 更新数据 157
12.1.4 删除数据 157
12.1.5 其他常用操作 158
12.2 JSP调用JavaBean访问数据库 159
12.3 在Servlet中使用JDBC访问数据库 161
12.4 使用JDBC实现数据分页显示 164
12.4.1 编写Servlet:PageCustomerServlet 165
12.4.2 编写JavaBean:PageBean、CustomerBean 166
12.4.3 编写JSP:pageContent、pagePlugin 168
12.4.4 运行分页显示实例 169
12.5 小结 169
12.6 本章习题 169
第13章 Hibernate概述及实例分析( 教学视频:35分钟) 172
13.1 什么是数据持久化和ORM 172
13.2 什么是Hibernate 172
13.3 MyEclipse对Hibernate的支持 173
13.4 在线购物系统开发概述 175
13.5 开发在线购物系统 176
13.5.1 需求分析 176
13.5.2 概念机构设计 176
13.5.3 逻辑机构设计 177
13.6 创建JavaBean组件 178
13.7 创建Hibernate映射文件 180
13.8 创建Hibernate配置文件 182
13.9 创建数据库操作类:DBOperator 183
13.10 测试系统功能 186
13.11 小结 188
13.12 本章习题 188
第14章 Hibernate结构分析( 教学视频:23分钟) 191
14.1 Hibernate体系结构一览 191
14.2 Hibernate实体对象的生命周期 192
14.2.1 瞬态(Transient) 192
14.2.2 持久态(Persistent) 192
14.2.3 游离态(Detached) 193
14.2.4 实体对象的状态转换 193
14.3 使用Hibernate API 196
14.3.1 使用Configuration类 196
14.3.2 使用SessionFactory接口 197
14.3.3 使用Session接口 197
14.3.4 使用Transaction接口 198
14.3.5 使用Query接口 198
14.3.6 使用Criteria接口 200
14.4 小结 200
14.5 本章习题 200
第15章 使用Hibernate映射( 教学视频:39分钟) 203
15.1 配置映射文件 203
15.1.1 映射文件的格式 203
15.1.2 装载映射文件 206
15.2 映射一对多关联关系 206
15.2.1 多对一单向关联 207
15.2.2 实现双向关联 210
15.3 映射多对多关联关系 213
15.3.1 映射单向多对多关联 213
15.3.2 映射双向多对多关联 216
15.4 映射一对一关联关系 217
15.5 映射继承关系 220
15.6 小结 224
15.7 本章习题 224
第16章 Hibernate事务处理和缓存管理( 教学视频:37分钟) 228
16.1 Hibernate的事务处理 228
16.1.1 什么是数据库事务 228
16.1.2 数据库的隔离级别 229
16.1.3 了解Hibernate中的事务处理 230
16.1.4 并发控制 231
16.2 管理Hibernate缓存 232
16.2.1 缓存的基本原理 232
16.2.2 Hibernate的二级缓存结构 233
16.2.3 管理Hibernate的第一级缓存 234
16.2.4 管理Hibernate的第二级缓存 235
16.3 小结 238
16.4 本章习题 239
第5篇 Struts 2构架详解
第17章 MVC模式与Struts 2框架( 教学视频:22分钟) 244
17.1 什么是MVC模式 244
17.1.1 MVC设计模式的思想 244
17.1.2 MVC处理请求的过程 244
17.1.3 MVC的优点 245
17.1.4 MVC和模式二(JSP+JavaBean+Servlet) 246
17.2 Struts 2框架介绍 246
17.2.1 Struts 2的历史 246
17.2.2 Struts 2框架结构 246
17.2.3 Struts 2的配置文件 247
17.2.4 Struts 2控制器 249
17.2.5 Struts 2标签库 250
17.3 小结 251
17.4 本章习题 251
第18章 Struts 2实例分析( 教学视频:21分钟) 253
18.1 Struts 2的下载与安装 253
18.1.1 Struts 2的下载过程 253
18.1.2 Struts 2安装过程 254
18.2 项目简介 255
18.3 编写配置文件 256
18.3.1 配置web.xml文件 256
18.3.2 配置strts.uxml文件 256
18.4 创建控制器(Action类) 257
18.5 创建视图层 258
18.5.1 用于注册的register.jsp文件 258
18.5.2 用于显示注册成功的success.jsp 259
18.6 运行程序 260
18.7 使用ActionSupport类实现数据验证 260
18.8 运行验证 262
18.9 小结 262
18.10 本章习题 263
第19章 Struts 2核心剖析( 教学视频:48分钟) 265
19.1 Struts 2的工作流程 265
19.2 Struts 2配置文件详解 271
19.2.1 web.xml的配置 271
19.2.2 struts.xml的配置 272
19.2.3 struts.properties配置文件 280
19.3 Struts 2的Action类 281
19.3.1 业务控制器Action的实现类 281
19.3.2 使用Struts 2框架提供的接口 282
19.3.3 使用Action类访问Servlet API 285
19.3.4 Action的配置 286
19.3.5 Action类方法的动态调用 287
19.4 拦截器 289
19.4.1 拦截器的思想 289
19.4.2 使用拦截器 290
19.5 Struts 2中使用ONGL 293
19.5.1 对象导航语言ONGL简介 293
19.5.2 Struts 2中使用ONGL 294
19.6 小结 296
19.7 本章习题 297
第20章 Struts 2框架技术( 教学视频:34分钟) 300
20.1 Struts 2的国际化操作 300
20.1.1 Struts 2实现国际化的原理 300
20.1.2 Struts 2实现国际化的通用流程 300
20.1.3 使用不同范围的资源文件 306
20.1.4 加载资源文件的顺序 308
20.2 Struts 2的类型转换 309
20.2.1 预定义类型和日期类型的转换 309
20.2.2 复合类型的转换 311
20.2.3 复合类型集合的转换 313
20.2.4 Struts 2类型转换异常处理 316
20.3 Struts 2数据验证 316
20.3.1 使用validate()方法进行验证 316
20.3.2 使用配置文件进行验证 319
20.4 数据验证时国际化操作的实例分析 322
20.5 小结 324
20.6 本章习题 324
第21章 Struts 2标签库( 教学视频:44分钟) 327
21.1 Struts 2标签库概述 327
21.1.1 什么是Struts 2标签 327
21.1.2 Struts 2标签库的构成 327
21.1.3 使用Struts 2标签库 328
21.2 Struts 2控制标签 329
21.2.1 循环标签iterator 329
21.2.2 选择标签if/elseif/else 331
21.2.3 集合连接标签append 333
21.2.4 子集标签subset 335
21.2.5 排序标签sort 335
21.3 数据标签 337
21.3.1 控制器调用标签action 337
21.3.2 JavaBean调用标签bean 339
21.3.3 值栈置顶标签push 340
21.3.4 调试标签debug 341
21.3.5 包含标签include 341
21.3.6 参数传递标签param 342
21.3.7 变量赋值标签set 342
21.3.8 地址标签url 343
21.3.9 值输出标签property 343
21.4 表单标签 343
21.4.1 复选框标签checkbox 344
21.4.2 复选框集合标签checkboxlist 344
21.4.3 组合框标签combobox 346
21.4.4 日期选择标签datetimepicker 346
21.4.5 下拉列表框标签select 348
21.4.6 单选框标签radio 348
21.4.7 选项组标签optgroup 348
21.4.8 其他常用表单标签 349
21.5 非表单标签 349
21.5.1 信息显示标签actionerrror和actionmessage 349
21.5.2 树形结构标签tree和treenode 350
21.6 小结 351
21.7 本章习题 351
第6篇 Spring框架及其使用
第22章 Spring基础( 教学视频:14分钟) 356
22.1 什么是Spring 356
22.2 Spring的特点 357
22.3 搭建Spring开发环境 357
22.4 Spring应用实战 358
22.4.1 编写接口文件Hello.java 358
22.4.2 编写实现接口的类 359
22.4.3 创建Spring的配置文件config.xml 359
22.4.4 创建用于主函数类 360
22.4.5 运行程序 360
22.5 小结 361
22.6 本章习题 361
第23章 Spring的Web架构( 教学视频:28分钟) 363
23.1 第一个Spring MVC例子 363
23.1.1 配置web.xml文件 363
23.1.2 编写用于输出的页面 364
23.1.3 创建控制器 364
23.1.4 创建Spring的配置文件 365
23.1.5 运行Spring MVC示例 366
23.1.6 使用JSTL视图技术 366
23.2 Spring MVC的控制器 367
23.2.1 核心控制器DispatcherServlet 367
23.2.2 控制器接口Controller 368
23.2.3 表单控制器SimpleFormController 368
23.3 Spring MVC视图 371
23.3.1 模型视图类ModelAndView 371
23.3.2 支持不同的视图 373
23.4 使用拦截器 373
23.5 数据验证 376
23.6 Spring和Struts 2整合 377
23.6.1 整合原理 378
23.6.2 整合步骤 378
23.7 一个Spring+Struts 2的开发实例 379
23.8 小结 382
23.9 本章习题 382
第24章 使用Spring操作数据库( 教学视频:22分钟) 384
24.1 Spring框架的事务处理 384
24.1.1 传统的JDBC事务处理 384
24.1.2 Spring框架的事务处理 385
24.2 数据源DataSource的注入 390
24.3 PlatformTransactionManager接口的作用 391
24.4 使用JdbcTemplate访问数据 393
24.4.1 Template模式简介 393
24.4.2 JdbcTemplate的实现方式 394
24.5 Spring+Hibernate实例分析 396
24.6 小结 399
24.7 本章习题 400
第25章 Spring+Hibernate+Struts集成实例分析( 教学视频:25分钟) 401
25.1 项目需求和系统框架 401
25.1.1 项目需求概述 401
25.1.2 系统框架 401
25.2 数据库的设计 402
25.3 配置开发环境 403
25.3.1 web.xml文件的配置 403
25.3.2 Spring配置文件applicationContext.xml的配置 403
25.3.3 Struts 2配置文件struts.xml的配置 405
25.3.4 其他文件的配置 405
25.4 编写JavaBean组件 406
25.5 建立数据库访问组件(DBOperator) 406
25.5.1 定义接口Shopping 406
25.5.2 定义接口的实现类HibernateShopping 407
25.5.3 在Action类中调用HibernateShopping类 408
25.6 创建业务控制器 409
25.6.1 业务控制器的执行流程 409
25.6.2 在线购物系统Action类分析 411
25.7 创建视图组件 413
25.7.1 用户注册界面 413
25.7.2 修改用户信息界面 414
25.7.3 浏览商品详细信息界面 414
25.7.4 显示用户订单列表界面 415
25.8 运行在线购物系统 416
25.9 小结 416
??
??
??
??
零点起飞学Java Web开发
目 录
·XIV·
·XV·