本书作为Java Web程序设计的大学教程,对Java EE编程技术进行了系统全面的介绍。全书共分14章。首先对Java高级编程知识做了详细的介绍,包括Java常用工具类、集合框架、JDBC编程技术以及Java对XML编程技术。然后开始对JSP网页编程技术进行较详细的介绍,包括HTML基础、CSS样式表的应用、JavaScript脚本语言以及JSP相关的编程技术(如JSP基础、JavaBean编程、Servlet编程以及Filter等),还介绍了EL和JSTL编程技术。最后介绍了本书的高级部分,也就是目前流行的开源框架,包括Struts2框架、Hibernate技术、Hibernate高级应用、Spring框架、Spring与Struts2、Hibernate框架的整合和JQuery等。本书以一个完整的综合实例项目——网上购书系统作为结束,有助于学生理解知识、应用知识,达到学以致用的目的。
全书每章内容都与开发技巧、经验和实例紧密结合,并配有习题,习题中的上机实践题可作为上机编程实验课教学内容。本书源代码全部经过精心测试,能够在Windows XP、Windows 7、Windows 8和Windows 10系统下编译和运行。
本书结构合理,通俗易懂,内容深入浅出,由于编写时考虑了大学生和Java EE编程初学者的特点,所以本书特别适合具有一定Java编程基础的大学生和初、中级的Java Web程序开发人员使用;可作为应用型本科计算机专业、软件学院、独立学院、高职软件专业及相关专业的教材,同时也适合Java Web爱好者学习使用。
具有丰富的教学实践经验,带过Java高级开发技术(JavaEE)大型商业软件编程技术(企业)移动应用软件开发(Android、iOS) 等课程,深受学生欢迎。
第1章 Java EE框架概述 1
1.1 C/S架构与B/S架构 1
1.1.1 C/S架构 1
1.1.2 B/S架构 1
1.2 什么是Java EE 2
1.2.1 Java EE规范简介 2
1.2.2 Java EE平台主要内容 3
1.2.3 Java EE应用服务器软件及
相关角色 4
1.2.4 Java EE应用软件的体系结构 5
1.3 Java EE能做什么 6
习题 6
第2章 常用工具类的使用 7
2.1 String与StringBuffer类的使用 7
2.1.1 String类 7
2.1.2 StringBuffer类 9
2.2 Java日历类的使用 10
2.2.1 Date与DateFormat的使用 10
2.2.2 Calendar日历类使用 12
2.3 Java定时器Timer类使用 14
本章小结 15
习题 15
第3章 Java集合框架及泛型编程 16
3.1 Java集合概念 16
3.2 Java集合的使用 17
3.2.1 HashSet使用 17
3.2.2 TreeSet使用 19
3.2.3 ArrayList使用 23
3.2.4 Map的使用 24
3.2.5 中文排序问题 27
3.3 Java泛型编程 29
本章小结 30
习题 30
第4章 JDBC编程技术 32
4.1 MySQL数据库 32
4.1.1 MySQL服务器的安装 32
4.1.2 MySQL的环境和命令 33
4.2 JDBC编程基本概念 34
4.2.1 JDBC基本概念 34
4.2.2 JDBC数据库编程基本步骤 34
4.2.3 完整示例 38
4.3 JDBC编程进阶 40
4.3.1 PreparedStatement研究 40
4.3.2 如何获得元数据MetaData 42
4.3.3 事务处理 44
4.4 数据库分层设计 46
4.4.1 O/R映射 46
4.4.2 实战—客户信息系统分层设计 46
本章小结 50
习题 51
第5章 Java对XML编程 53
5.1 XML基本概念 53
5.1.1 XML文档结构 53
5.1.2 XML基本元素 54
5.1.3 使用属性 55
5.1.4 XML解析 56
5.2 利用开源JDOM对XML编程 57
5.2.1 基本构成 58
5.2.2 入门示例 58
5.2.3 实战—读写XML文档 60
本章小结 61
习题 62
第6章 网页编程技术 64
6.1 Web基础 64
6.1.1 浏览器 64
6.1.2 Web服务器 64
6.1.3 HTTP 65
6.2 HTML基本概念和基本标签 67
6.3 CSS使用 69
6.3.1 CSS概念 69
6.3.2 CSS层叠样式表用法 70
6.3.3 CSS的常用选择器 71
6.3.4 CSS属性 75
6.4 利用CSS与DIV网页布局 76
6.5 JavaScript编程基础 80
6.5.1 面向对象和JavaScript 81
6.5.2 基本形式 81
6.5.3 在什么地方插入JavaScript 81
6.5.4 JavaScript基本语法 81
6.5.5 JavaScript对象 85
6.5.6 JavaScript与XHTML文档 88
6.5.7 JavaScript的事件与事件处理 89
6.5.8 实战—验证表单输入 92
本章小结 93
习题 93
第7章 JSP编程技术 95
7.1 JSP编程基础 95
7.1.1 JSP运行环境配置 95
7.1.2 JSP的执行过程 98
7.1.3 JSP脚本元素的组成 98
7.1.4 JSP注释 99
7.1.5 JSP常见指令 100
7.1.6 JSP常见动作元素 102
7.2 JSP常见内置对象 103
7.2.1 out对象 103
7.2.2 request对象 104
7.2.3 response对象 106
7.2.4 application对象 107
7.2.5 session对象 108
7.2.6 pageContext对象 109
7.2.7 其他内置对象(page、config、exception) 110
7.2.8 Cookie对象的使用 110
7.3 JavaBean编程 111
7.3.1 JavaBean概述 111
7.3.2 实战—JavaBean数据库综合编程 113
7.4 Servlet编程技术 117
7.4.1 Servlet概述 117
7.4.2 Servlet生命周期 118
7.4.3 实战—Servlet编程 118
7.4.4 Servlet初始化函数 120
7.4.5 Servlet 3.0的新特性 121
7.5 过滤器Filter编程 121
7.5.1 Filter概述 121
7.5.2 实战—中文乱码过滤器编程 122
7.5.3 Filter配置 123
7.6 JSP编程常见技巧 124
7.6.1 实战—JSP验证码实现 124
7.6.2 实战—JSPSmartUpload实现文件上传下载 127
本章小结 129
习题 129
第8章 EL表达式与JSTL库 131
8.1 EL表达式 131
8.1.1 JSP中EL表达式 131
8.1.2 JSP中EL表达式输出某个范围变量值 132
8.1.3 EL运算符 134
8.1.4 EL输出JavaBean中属性值 134
8.2 JSTL标签库使用 136
8.2.1 JSTL基本概念 136
8.2.2 JSTL编程入门 137
8.2.3 JSTL核心标签库 138
8.3 实战—客户信息系统客户页面编辑 142
本章小结 145
习题 145
第9章 Hibernate编程技术 147
9.1 Hibernate架构与入门 147
9.1.1 O/R Mapping 147
9.1.2 Hibernate架构 148
9.1.3 Hibernate的工作原理 148
9.1.4 实战—Hibernate实现客户信息系统操作 149
9.1.5 Hibernate核心接口 153
9.2 Hibernate常见操作 155
9.2.1 利用Hibernate增、删、改记录 155
9.2.2 Hibernate主键ID生成方式 156
9.2.3 Hibernate查询方式 159
9.3 Hibernate多表操作 162
9.3.1 表之间关系 162
9.3.2 实战—Hibernate一对多关系操作 162
9.3.3 级联操作与延迟加载 165
9.3.4 实战—Hibernate多对多关系操作 169
本章小结 171
习题 172
第10章 Struts2编程 173
10.1 B/S设计模式 173
10.1.1 MVC模式 173
10.1.2 MVC分层架构 174
10.2 Struts概念 176
10.2.1 Struts 2体系结构 177
10.2.2 Struts2框架的处理流程 178
10.2.3 实战—Struts2实录登录操作 178
10.3 深入理解Struts 2的配置文件 181
10.4 Action 184
10.4.1 Action类文件 184
10.4.2 Action动态处理函数 185
10.4.3 Action访问Servlet API 186
10.5 Struts 2校验框架 187
10.5.1 Struts2校验流程 187
10.5.2 Struts常见校验规则 190
10.5.3 实战—Struts 2中应用客户端输入校验 191
10.6 Struts 2拦截器 192
10.6.1 什么是拦截器 192
10.6.2 Struts 2拦截器入门 194
10.6.3 在Struts 2中配置自定义的拦截器 196
10.7 Struts 2转换器 197
10.7.1 在Struts 2中配置类型转换器 197
10.7.2 实战—类型转换器应用 199
10.8 Struts 2国际化 201
10.9 实战—Struts 2上传下载 203
10.9.1 上传文件 204
10.9.2 文件下载 206
10.10 Struts 2标签 207
10.10.1 模板和主题 207
10.10.2 Struts 2常用UI标签使用 208
10.10.3 实战—Struts 2常用UI标签综合示例 210
10.10.4 Struts 2常用非UI标签使用 211
本章小结 214
习题 214
第11章 Spring编程 215
11.1 Spring开源框架 215
11.2 Spring入门示例 217
11.3 Spring IoC控制反转 219
11.3.1 Spring依赖注入 220
11.3.2 Spring Bean的作用域 224
11.3.3 Spring自动装配 225
11.4 Spring AOP编程 226
11.4.1 AOP概念 226
11.4.2 Aspect对AOP的支持 228
11.4.3 实战—AOP Spring 228
本章小结 231
习题 231
第12章 Spring、Struts2、Hibernate整合 232
12.1 实战—Spring与Hibernate整合 (客户信息系统查询) 232
12.2 事务处理 236
12.2.1 实战—通过注释实现事务 236
12.2.2 声明式事务 237
12.3 Spring与Struts整合 240
12.4 实战—SS2H整合 (客户信息系统用户注册) 243
本章小结 249
习题 249
第13章 基于JQuery编程技术 250
13.1 JQuery简介 250
13.2 JQuery配置与使用 251
13.3 JQuery选择器 252
13.4 JQuery对HTML操作 256
13.4.1 节点标签操作 256
13.4.2 CSS样式操作 259
13.4.3 读写HTML文本 259
13.5 JQuery事件 260
13.5.1 绑定事件 260
13.5.2 事件冒泡 261
13.6 基于JQuery的AJAX编程 263
13.6.1 什么是AJAX 263
13.6.2 实战—AJAX实现获取音乐
列表 264
13.6.3 JQuery的AJAX编程技术 266
13.6.4 JQuery中使用JSON 269
本章小结 270
习题 271
第14章 综合实例——网上购书系统 272
14.1 系统分析和设计 272
14.2 注册、登录和注销 280
14.3 图书类别及新书展示 291
14.4 显示指定类别图书 295
14.5 图书查询 300
14.6 添加图书到购物车 302
14.7 显示购物车 305
14.8 结账 307