猜你喜欢
疯狂前端开发讲义

疯狂前端开发讲义

书籍作者:李刚 ISBN:9787121326806
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2375
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

《疯狂前端开发讲义》基于《疯狂Ajax讲义(第3版)》的部分内容升级而来,全书升级了HTML 5.1支持的XMLHttpRequest,jQuery升级到3.1。本书的重点是新加入的两个目前十分主流的前端框架:AngularJS和Bootstrap。《疯狂前端开发讲义》详细、全面地介绍了AngularJS和Bootstrap的知识,由于这两个框架是《疯狂前端开发讲义》的重点,因此花了近400多页来介绍它们的功能和用法,这部分内容独立出来完全可以作为AngularJS和Bootstrap的学习手册。《疯狂前端开发讲义》主要就是讲解jQuery 3.1、AngularJS 1.6、Bootstrap 3.3这三个常用的前端框架,并针对每个框架都提供了实用的案例,让读者理论联系实际。这部分内容是“疯狂软件教育中心”的标准讲义,既包含了实际前端开发的重点和难点,也融入了大量学习者的学习经验和感悟。笔者以丰富的授课经验为基础,在讲解深入浅出,力求使读者真正掌握前端开发的精髓。《疯狂前端开发讲义》在后面提供两个综合性案例:图书管理系统和电子拍卖系统,这两个项目都综合利用了jQuery、AngularJS、Bootstrap前端开发技术,并在后端采用了流行、规范的轻量级Java EE架构:控制器层->业务逻辑层->数据持久化层。这两个案例对实际项目具有极好的指导价值和借鉴意义。案例既提供了IDE无关的、基于Ant管理的项目源码,也提供了基于Eclipse IDE的项目源码,大限度地满足读者的需求。如果在阅读《疯狂前端开发讲义》时遇到任何技术问题,都可登录http://www.crazyit.org与本书庞大的读者群交流。《疯狂前端开发讲义》并非针对零基础的读者,本书不再包含HTML、CSS、JavaScript相关知识,这些知识是阅读《疯狂前端开发讲义》的基础。《疯狂前端开发讲义》适合有初步HTML、CSS、JavaScript基础的读者,或对企业应用前端开发不太熟悉的开发人员。如果已经掌握《疯狂前端开发讲义》的姊妹篇《疯狂HTML 5/CSS 3/JavaScript讲义》,将非常适合阅读《疯狂前端开发讲义》。

作者简介

李刚,十多年的软件开发从业经验,疯狂软件教育中心教学总监。疯狂Java实训营创始人,疯狂Java体系原创图书作者。广东技术师范学院计算机科学系的兼职副教授,51CTO专家门诊特邀嘉宾。培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。国内著名高端IT技术作家,已出版《疯狂Java讲义》《疯狂Android讲义》《轻量级Java EE企业应用实战》《疯狂iOS讲义(基础篇)(高级篇)》《疯狂 Swift讲义》《疯狂Ajax讲义》《疯狂XML讲义》《经典Java EE企业应用实战》《Struts 2.x**指南》《疯狂HTML 5/CSS 3/JavaScript讲义》等著作。其 中疯狂Java体系图书均已沉淀多年、赢得极高的市场认同、多次重印成为超级畅销图书,并被多所“985”“211”高校选作教材,不少图书已被翻译成繁体中文版、 授权到中国台湾地区。

编辑推荐
适读人群 :前端开发人员,计算机及相关专业本科在校生

主要讲解jQuery、AngularJS、Bootstrap这三个*常用的前端框架,并针对每个框架都提供了实用的案例,让读者理论联系实际。

本书提供两个综合案例,综合利用了jQuery、AngularJS、Bootstrap前端开发技术,并在后端采用了极为流行、规范的轻量级Java EE架构:控制器层->业务逻辑层->数据持久化层。

书中案例对实际项目具有极好的指导价值和借鉴意义。

案例既提供了IDE无关的、基于Ant管理的项目源码,也提供了基于Eclipse IDE的项目源码,最大限度地满足读者的需求。


前言

现在企业应用开发越来越重视前端开发,很多企业已经独立出一个专门的岗位:前端开发工程师,前端开发工程师专门负责企业应用的前端编程。前端工程师与美工不同,美工负责的是应用界面的规划和设计,他们只负责做出静态的界面构图,有时也包括规划界面交互效果,但美工通常并不懂编程实现;而前端开发工程师则负责使用HTML 5、CSS、JavaScript以及各种前端框架来实现整个前端界面:包括应用界面的搭建、用户交互的实现,这些内容其实都属于JavaScript编程。

有些初学者往往容易混淆美工和前端开发工程师的区别:他们以为会用网页设计工具制作网页就算前端开发工程师。实际上会用网页设计工具既算不上美工,也算不上前端开发工程师。美工的重点在“美”,他们需要有扎实的美术功底,他们可用任何工具来“设计”静态界面,甚至可直接在纸上绘制界面草图,因此网页制作工具只是其中的工具之一;而前端开发工程师往往并不使用网页设计工具,他们通常会使用专门的代码编写工具,他们用HTML、CSS来编写静态界面,再使用JavaScript或各种前端框架来实现界面的动态交互效果。因此,前端开发工程师的本质依然是程序员,他们常用JavaScript以及各种JavaScript框架,如jQuery和AngularJS等。

这里必须说明,前端开发并不简单,原因主要有如下两点:

1、JavaScript作为一门编程语言,有其自身的优势和特点,要想真正掌握并熟练使用它,有一定的难度。

2、各浏览器之间存在一定的差异(虽然这种差异正在被相应的规范减少),而且同一个浏览器的不同版本之间也存在较大差异(如IE 8、IE 9、IE 10等),这同样给广大开发者带来了较大的困难。

正因为前端开发存在的复杂性,使得前端开发的相关框架也相当活跃,除了最主流的jQuery之外,其他还有如AngularJS、Bootstrap等。尤其是jQuery,目前它已经超出一般框架的概念,甚至变成了某种规范,很多前端框架底层都会借鉴或依赖jQuery。

AngularJS则是一个非常实用的前端框架,这个框架不是一种简单的工具,它甚至会强迫开发者采用一种优雅的前端架构,这也是笔者对这个框架情有独钟的原因。

对于初级甚至中级的前端开发者来说,他们有一定的JavaScript代码功底,如果单纯交代他们实现一个前端功能,他们可能也可以实现出来,但他们的实现风格要么乱七八糟,要么“随心所欲”:今天可能这样实现,明天可能会那样实现—如果整个前端都由一个开发者完成,这样做可能问题不大。但实际企业应用的前端往往需要多人协作开发,这时各前端开发者的风格不统一就会带来巨大的沟通成本,从而导致项目进度受阻。

AngularJS的价值就在于此,AngularJS可以极好地规范前端开发的风格,AngularJS对前端开发进行分层,它将前端开发分为Controller层、Service层、DAO层和Model层,Model对象则与HTML页面(视图)上HTML元素进行双向绑定,这样开发者可通过Controller调用Service、DAO与后端交互,获取后端数据之后,只要修改其中Model对象的值,视图页面也会随之动态改变。这个设计架构层次非常清晰,而且具有一定的“强制性”,整个前端团队一旦采用AngularJS框架,那么整个前端开发风格会变得简单、清晰,所有团队成员都能采用一致的开发风格,这就是AngularJS的魅力所在。

Bootstrap则更像一个CSS框架,使用起来非常方便。对于大部分前端开发者,最令人头疼的可能并不是“如何实现”某个界面,而是不清楚到底“要实现什么”界面?怎样的界面才能算得上优雅、美观?而Bootstrap正好解决了这个痛点,该框架提供了大量优雅、美观的CSS样式,开发者直接应用这些CSS样式即可实现优雅、美观的页面。从这个角度来看,Bootstrap的上手非常简单,甚至不要求开发者掌握JavaScript知识,只要开发者略懂CSS样式即可,因此Bootstrap完全是真正简单且强大的前端框架。

本书有什么特点

本书只是一本介绍前端开发的图书,不是一本关于所谓“思想”的书,更不是一本看完之后可以“吹嘘、炫耀”的书—因为本书并没有堆砌一堆“深奥”的新名词、一堆“高深”的思想,本书保持了“疯狂Java体系”的一贯风格:操作步骤详细,编程思路清晰,语言平实。

本书带给读者的只是9个字:“看得懂、学得会、做得出”,本书并不能让你认识一堆新名词,只帮助你掌握扎实的企业前端开发基础。对于本书,光“看”是不够的,一定要“做”,阅读本书的同时,应该把所有知识点的配套示例都做出来,这样才能真正掌握本书的知识。

无论如何,读者在阅读本书时遇到知识上的问题,都可以登录疯狂Java联盟(http://www.crazyit.org)与广大Java学习者交流,笔者也会通过该平台与大家一起交流、学习。

除此之外,本书还有如下几个特点。

1.通俗易懂,适合自学

该书吸收了大量学习者的学习体会和心得,并重点讲解了学习过程中难以理解和掌握的知识点,降低了学习者的学习难度。

2.知识丰富,内容全面

本书全面、详细地介绍了jQuery 3.1、AngularJS 1.6、Bootstrap 3.3 3个框架,它们是企业开发中最主流的前端框架,具有很强的代表性。掌握本书内容即可具备扎实的前端开发功底。

3.深入实用,实践性强

本书并不是一本前端开发的入门图书,本书全面、深入地介绍了企业开发中最主流、最具代表性的前端框架,并将它们真正融入Java企业应用开发中,这对实际企业应用开发具有极好的指导意义。

本书写给谁看

本书并非针对零基础的读者,如果您具有HTML 5、CSS 3、JavaScript基础,认真学习此书即可让您成为前端开发的实战型人才;如果您已经阅读过本书上篇:《疯狂HTML 5/CSS/JavaScript讲义》,阅读本书非常合适。如果您完全没有HTML、CSS、JavaScript基础知识,建议您暂时不要购买、阅读此书。

2017-07-28

目录

第1章 前端开发与Ajax技术 1
1.1 重新思考Web应用 2
1.1.1 应用系统的发展史 2
1.1.2 传统Web应用的优势和缺点 3
1.2 重新设计Web应用 4
1.2.1 富Internet应用 4
1.2.2 改进的服务器通信 5
1.2.3 丰富的客户端交互 6
1.3 前端开发介绍 7
1.3.1 XMLHttpRequest简介 7
1.3.2 前端开发的核心技术 7
1.3.3 前端Ajax的特征 9
1.3.4 Ajax带来的优势 10
1.4 前端开发体验:Ajax聊天室 11
1.4.1 实现业务逻辑组件 12
1.4.2 注册、登录控制器 15
1.4.3 注册、登录视图 16
1.4.4 异步发送请求 17
1.4.5 聊天控制器 18
1.4.6 解析服务器响应 21
1.4.7 何时发送请求 21
1.5 前端开发的技术难点 24
1.6 本章小结 25
第2章 HTML 5增强的XMLHttpRequest对象 26
2.1 XMLHttpRequest对象的方法和属性 27
2.1.1 XMLHttpRequest对象的方法 27
2.1.2 XMLHttpRequest对象的属性 30
2.2.3 XMLHttpRequest对象的事件 32
2.2 发送请求 33
2.2.1 发送简单请求 33
2.2.2 发送GET请求 34
2.2.3 发送POST请求 36
2.2.4 发送XML请求 37
2.2.5 发送表单数据 40
2.2.6 发送Blob对象 42
2.3 处理响应 44
2.3.1 处理响应的时机 44
2.3.2 使用文本响应 44
2.3.3 使用JSON响应 45
2.3.4 使用Blob或ArrayBuffer响应 48
2.4 XMLHttpRequest对象的运行周期 50
2.5 跨域请求和安全性问题 50
2.5.1 跨域请求 50
2.5.2 安全性问题 53
2.5.3 性能问题 54
2.6 本章小结 56
第3章 jQuery库详解 57
3.1 jQuery入门 58
3.1.1 理解jQuery的设计 58
3.1.2 下载和安装jQuery 59
3.1.3 让jQuery与其他JavaScript库共存 60
3.2 获取jQuery对象 61
3.2.1 jQuery核心函数 61
3.2.2 jQuery与jQuery.holdReady 62
3.2.3 以CSS选择器访问DOM元素 63
3.2.4 以伪类选择器访问DOM元素 65
3.2.5 表单相关的选择器 70
3.3 jQuery操作类数组的工具方法 72
3.3.1 过滤相关方法 74
3.3.2 仿DOM导航查找的相关方法 76
3.3.3 串联方法 78
3.4 jQuery支持的方法 79
3.4.1 jQuery命名空间的方法 80
3.4.2 数据存储的相关方法 83
3.4.3 操作属性的相关方法 84
3.4.4 操作CSS属性的相关方法 86
3.4.5 操作元素内容的相关方法 89
3.4.6 操作DOM节点的相关方法 90
3.5 jQuery事件相关方法 96
3.5.1 绑定事件处理函数 96
3.5.2 特定事件相关的方法 98
3.5.3 事件对象 99
3.6 动画效果相关的方法 100
3.6.1 简单动画和复杂动画 100
3.6.2 操作动画队列 103
3.7 jQuery的回调支持 104
3.7.1 回调支持的基本用法 104
3.7.2 创建Callbacks对象支持的选项 106
3.8 Ajax相关方法 108
3.8.1 三个工具方法 108
3.8.2 使用load方法 109
3.8.3 jQuery.ajax(options)与jQuery.ajaxSetup(options) 111
3.8.4 使用get/post方法 112
3.9 jQuery的Deferred对象 115
3.9.1 jQuery的异步调用 115
3.9.2 为多个耗时操作指定回调函数 119
3.9.3 为普通对象增加Defered接口 119
3.9.4 jQuery对象的promise方法 120
3.10 扩展jQuery和jQuery插件 121
3.11 本章小结 122
第4章 基于jQuery的应用:电子相册系统 123
4.1 实现持久层 124
4.1.1 实现持久化类 124
4.1.2 配置SessionFactory 126
4.2 实现DAO组件 127
4.2.1 开发通用DAO组件 127
4.2.2 DAO接口定义 130
4.2.3 完成DAO组件的实现类 131
4.3 实现业务逻辑层 132
4.3.1 实现业务逻辑组件 132
4.3.2 配置业务逻辑组件 134
4.4 实现客户端调用 135
4.4.1 访问业务逻辑组件 135
4.4.2 处理用户登录 136
4.4.3 获得用户相片列表 138
4.4.4 处理翻页 140
4.4.5 使用jQuery实现文件上传 141
4.4.6 加载页面时的处理 144
4.5 本章小结 145
第5章 AngularJS详解 147
5.1 AngularJS入门 148
5.1.1 理解AngularJS的基本设计 148
5.1.2 下载和安装AngularJS 149
5.2 表达式 150
5.2.1 简单表达式 150
5.2.2 复合对象表达式 151
5.2.3 AngularJS表达式的容错性 152
5.2.4 AngularJS表达式与JavaScript表达式 152
5.3 模块与控制器 153
5.3.1 模块的加载 153
5.3.2 控制器初始化$scope对象 155
5.3.3 $rootScope作用域 157
5.3.4 $watch方法的使用 158
5.4 过滤器 159
5.4.1 内置过滤器 159
5.4.2 在表达式中使用过滤器 160
5.4.3 在指令中使用过滤器 162
5.4.4 自定义过滤器 162
5.5 函数API 164
5.5.1 扩展型函数 164
5.5.2 jqLite函数 168
5.5.3 判断型函数 169
5.6 指令 170
5.6.1 表单相关的指令 170
5.6.2 表单的输入校验 175
5.6.3 事件相关的指令 178
5.6.4 流程控制相关的指令 179
5.6.5 绑定相关的指令 183
5.6.5 DOM及DOM状态相关指令 187
5.6.6 自定义指令 193
5.6.7 自定义指令的scope属性 195
5.6.8 自定义指令的transclude属性 197
5.6.9 自定义指令的link和compile属性 198
5.6.10 自定义指令的controller和controllerAs属性 202
5.6.11 自定义指令的require属性 203
5.7 调用内置服务 205
5.7.1 $animate服务 205
5.7.2 $cacheFactory服务 207
5.7.3 $compile服务 209
5.7.4 $document、$window、$timeout、$interval和$rootElement 211
5.7.5 $parse服务 214
5.7.6 $interpolate服务 214
5.7.7 $log服务 215
5.7.8 $q服务 216
5.7.9 $templateCache服务 218
5.8 自定义服务 219
5.8.1 使用factory()方法创建自定义服务 219
5.8.2 使用service()方法创建自定义服务 220
5.8.3 使用provider()方法创建自定义服务 221
5.8.4 使用$provide服务创建自定义服务 223
5.8.5 在过滤器中使用自定义服务 225
5.9 依赖注入 226
5.9.1 依赖注入机制简介 226
5.9.2 使用$injector对象获取组件 228
5.9.3 隐式依赖注入 230
5.9.4 行内数组式依赖注入 230
5.9.5 标记式依赖注入 231
5.10 与服务器交互 232
5.10.1 $http服务 232
5.10.2 $http的快捷方法 235
5.10.3 使用$http上传文件 237
5.10.4 使用$resource服务 239
5.11 多视图和路由 240
5.11.1 使用$routeProvider配置路由规则 240
5.11.2 创建多视图 242
5.11.3 通过路由切换视图 244
5.11.4 使用$location实现多视图切换 246
5.12 使用ui-router框架实现多视图 248
5.12.1 ui-router的下载和安装 248
5.12.1 使用$stateProvider配置路由 248
5.12.2 多视图切换与$state 250
5.12.3 多个命名的嵌套视图 252
5.13 本章小结 255
第6章 Bootstrap全局样式 256
6.1 Bootstrap 257
6.1.1 Bootstrap简介 257
6.1.2 下载和安装Bootstrap 257
6.2 网格布局 260
6.2.1 网格布局基础 261
6.2.2 多余的列另起一行 264
6.2.3 响应式列重置 264
6.2.4 单元格偏移 266
6.2.5 单元格排序 267
6.2.6 嵌套网格 268
6.3 Less和mixin 269
6.3.1 Less简介 269
6.3.2 Less的两种用法 270
6.3.3 Less的变量和运算符 274
6.3.4 mixin 274
6.3.5 内嵌规则 275
6.3.6 Bootstrap网格系统的变量和mixin 276
6.4 Bootstrap排版相关样式 278
6.4.1 标题元素和样式 278
6.4.2 段落 279
6.4.3 增强的HTML元素 280
6.4.4 对齐 282
6.4.5 改变大小写 283
6.4.6 列表 283
6.5 表格相关样式 286
6.5.1 基础表格 286
6.5.2 条纹表格 287
6.5.3 边框表格 287
6.5.4 鼠标高亮 288
6.5.5 紧凑型表格 289
6.5.6 响应式表格 289
6.5.7 表格行状态 290
6.6 图片和图标 291
6.6.1 图片相关样式 291
6.6.2 图标 293
6.7 辅助样式 294
6.7.1 情境背景色 294
6.7.2 情境文本颜色 295
6.7.3 关闭按钮和三角箭头 295
6.7.4 快速浮动 296
6.7.5 显示或隐藏内容 296
6.7.6 屏幕阅读器和键盘导航 297
6.7.7 图片替换 297
6.8 响应式布局相关样式 297
6.8.1 显示/隐藏相关样式 298
6.8.2 打印相关样式 299
6.9 表单相关样式 299
6.9.1 基础表单 299
6.9.2 行内表单 300
6.9.3 水平表单 302
6.9.4 多选框和单选框 303
6.9.5 表单控件的大小 305
6.9.6 静态控件 307
6.9.7 表单控件的状态 309
6.9.8 帮助文本 309
6.9.9 校验状态 310
6.9.10 校验状态的图标 311
6.10 本章小结 313
第7章 Bootstrap内置组件 314
7.1 按钮 315
7.1.1 按钮大小 316
7.1.2 按钮状态 317
7.2 下拉菜单 319
7.2.1 对齐 321
7.2.2 禁用菜单项 322
7.2.3 按钮式下拉菜单 323
7.2.4 分裂式按钮下拉菜单 324
7.2.5 大小 326
7.3 按钮组 327
7.3.1 基本按钮组 327
7.3.2 工具栏 328
7.3.3 控制按钮组的大小 329
7.3.4 按钮组嵌套下拉菜单 329
7.3.5 两端对齐的按钮组 331
7.4 输入框组 332
7.4.1 基本输入框组 332
7.4.2 控制输入框组的大小 334
7.4.3 单选框或多选框作为附加元素 335
7.4.4 按钮式下拉菜单作为附加元素 336
7.4.5 多按钮 337
7.5 导航 338
7.5.1 简单导航的基础样式 338
7.5.2 两端对齐 340
7.5.3 嵌套下拉菜单 340
7.5.4 路径导航 341
7.5.5 基础导航条 342
7.5.6 导航条中的品牌图标 344
7.5.7 导航条中的按钮 344
7.5.8 导航条中的表单 345
7.5.9 导航条中的文本和链接 346
7.5.10 导航条中的组件的排列方式 347
7.5.11 设置导航条的位置 347
7.5.12 响应式导航条 349
7.5.13 分页导航 351
7.5.14 控制分页导航的大小 352
7.5.15 翻页导航 352
7.6 标签和徽章 353
7.6.1 标签 354
7.6.2 徽章 355
7.7 面板 355
7.7.1 面板的基础结构 355
7.7.2 面板嵌套表格 358
7.7.3 面板嵌套列表组 359
7.8 巨幕、页头和Well 361
7.8.1 巨幕 361
7.8.2 页头 362
7.8.3 well 362
7.9 缩略图 363
7.10 警告框 365
7.10.1 警告框基础 365
7.10.2 警告框中的链接 367
7.11 进度条 367
7.11.1 各种样式的进度条 367
7.11.2 带进度值的进度条 369
7.11.3 动画效果 370
7.11.4 多进度效果 371
7.12 媒体对象 372
7.12.1 媒体对象的基本组成 372
7.12.2 对齐方式 374
7.12.3 嵌套媒体对象 375
7.12.4 媒体对象列表 376
7.13 列表组 377
7.13.1 列表组基础 378
7.13.2 链接列表组 379
7.13.3 按钮列表组 379
7.13.4 列表项的状态 380
7.13.5 定制内容 381
7.14 本章小结 381
第8章 Bootstrap的JS插件 382
8.1 插件库概述 383
8.1.1 使用插件的两种方式 383
8.1.2 解决命名冲突 384
8.2 对话框 384
8.2.1 静态对话框 384
8.2.2 使用data-*属性弹出对话框 387
8.2.3 使用JS弹出对话框 388
8.2.4 对话框事件 389
8.2.5 基于事件源改变对话框内容 390
8.3 下拉菜单 392
8.3.1 使用data-*属性触发下拉菜单 392
8.3.2 使用JS触发下拉菜单 393
8.3.3 下拉菜单事件 394
8.4 滚动监听 395
8.4.1 通过data-*属性实现滚动监听 395
8.4.2 使用JS实现滚动监听 397
8.5 标签页 398
8.5.1 静态标签页 398
8.5.2 使用data-*属性切换标签页 399
8.5.3 使用JS切换标签页 401
8.5.4 胶囊式标签页 402
8.5.5 标签页事件 403
8.6 工具提示 404
8.6.1 使用data-*属性和JS触发工具提示 405
8.6.2 工具提示支持的属性 406
8.6.3 工具提示的事件 407
8.7 弹出框 408
8.7.1 使用data-*属性和JS触发弹出框 409
8.7.2 焦点触发的弹出框 411
8.7.3 弹出框支持的属性 411
8.7.4 弹出框的事件 412
8.8 警告框 412
8.8.1 使用data-*属性关闭警告框 412
8.8.2 使用JS关闭警告框 413
8.8.3 警告框事件 413
8.9 按钮 414
8.9.1 切换按钮状态 414
8.9.2 单选按钮或多选按钮 414
8.9.2 使用JS方法改变按钮文本 416
8.10 折叠插件 416
8.10.1 简单折叠效果 416
8.10.2 手风琴效果 417
8.10.3 使用JS触发折叠元素 419
8.10.4 折叠插件的相关事件 420
8.11 轮播图 420
8.11.1 静态轮播图 420
8.11.2 通过data-*属性激活轮播图 422
8.11.3 通过JS触发轮播图 424
8.11.4 轮播图事件 425
8.12 本章小结 426
第9章 Angular+Bootstrap整合开发:图书管理系统 427
9.1 总体说明和概要设计 428
9.1.1 系统的总体架构设计 428
9.1.2 数据库设计 429
9.2 实现Hibernate持久化类 430
9.2.1 设计Domain Object 430
9.2.2 实现Domain Object 431
9.3 DAO层实现 435
9.3.1 DAO的基础配置 435
9.3.2 实现DAO组件 436
9.3.3 部署DAO组件 437
9.4 业务逻辑层实现 438
9.4.1 设计业务逻辑组件 439
9.4.2 依赖注入DAO组件 441
9.4.3 业务逻辑组件的异常处理 441
9.4.4 实现业务逻辑组件 442
9.4.5 事务管理 443
9.4.6 配置业务层组件 444
9.5 前端整合开发 445
9.5.1 定义AngularJS路由 445
9.5.2 Spring MVC控制器的异常处理 447
9.5.3 管理图书种类 447
9.5.4 修改图书种类 451
9.5.5 管理图书 453
9.5.6 修改图书 457
9.5.7 图书入库 459
9.5.8 销售图书 465
9.6 本章小结 470
第10章 jQuery+Bootstrap整合开发:电子拍卖系统 471
10.1 总体说明和概要设计 472
10.1.1 系统的总体架构设计 472
10.1.2 数据库设计 473
10.2 实现Hibernate持久化类 474
10.2.1 设计Domain Object 474
10.2.2 实现Domain Object 475
10.3 DAO层实现 479
10.3.1 DAO的基础配置 480
10.3.2 实现DAO组件 481
10.3.3 部署DAO组件 484
10.4 业务逻辑层实现 485
10.4.1 设计业务逻辑组件 485
10.4.2 依赖注入DAO组件 487
10.4.3 业务逻辑组件的异常处理 488
10.4.4 处理用户竞价 489
10.4.5 判断拍卖物品状态 491
10.4.6 事务管理 492
10.4.7 配置业务层组件 493
10.5 开发前端JSON接口 494
10.5.1 初始化Spring容器 494
10.5.2 开发Spring MVC控制器 496
10.5.3 处理前端权限控制 498
10.6 前端整合开发 500
10.6.1 定义系统首页 500
10.6.2 浏览所有流拍物品 502
10.6.3 处理用户登录 503
10.6.4 管理物品 507
10.6.6 管理物品种类 512
10.6.7 查看竞得物品 515
10.6.8 查看自己的竞价记录 517
10.6.9 浏览拍卖物品 518
10.6.10 参与竞价 520
10.7 本章小结 524