资源名称:疯狂前端开发讲义 jQuery AngularJS Bootstrap前端开发实战

内容简介:

本书基于《疯狂Ajax 讲义(第3 版)》部分升级而来,全书升级了HTML 5.1 支持的XMLHttpRequest,jQuery 升级到3.1。本书的重点是新加入的两个目前十分主流的前端框架:AngularJS 和Bootstrap。本书详细、全面地介绍了AngularJS 和Bootstrap 的知识,由于这两个框架是本书的重点,因此本书花了近400 多页来介绍它们的功能和用法,这部分内容独立出来完全可以作为AngularJS 和Bootstrap 的学习手册。

《疯狂前端开发讲义——jQuery+AngularJS+Bootstrap前端开发实战》主要就是讲解jQuery 3.1、AngularJS 1.6、Bootstrap 3.3 这三个最常用的前端框架,并针对每个框架都提供了实用的案例,让读者理论联系实际。这部分内容是“疯狂软件教育中心”的标准讲义,既包含了实际前端开发的重点和难点,也融入了大量学习者的学习经验和感悟。笔者以丰富的授课经验为基础,在讲解时深入浅出,力求使读者真正掌握前端开发的精髓。

《疯狂前端开发讲义——jQuery+AngularJS+Bootstrap前端开发实战》最后提供了两个综合性案例:图书管理系统和电子拍卖系统,这两个项目都综合利用了jQuery、AngularJS、Bootstrap 前端开发技术,并在后端采用了最流行、最规范的轻量级Java EE 架构:控制器层-业务逻辑层-数据持久化层。这两个案例对实际项目具有极好的指导价值和借鉴意义。案例既提供了IDE无关的、基于Ant 管理的项目源码,也提供了基于Eclipse IDE 的项目源码,最大限度地满足读者的需求。如果在阅读本书时遇到任何技术问题,都可登录razyit.org 与本书庞大的读者群交流。

《疯狂前端开发讲义——jQuery+AngularJS+Bootstrap前端开发实战》并非针对零基础的读者,本书不再包含HTML、CSS、Javascript 相关知识,这些知识是阅读本书的基础。本书适合有初步HTML、CSS、Javascript 基础的读者,或对企业应用前端开发不太熟悉的开发人员。如果您已经掌握本书上篇:《疯狂HTML 5/CSS 3/Javascript 讲义》的内容,将非常适合阅读本书。

资源目录:

第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

资源截图:

疯狂前端开发讲义 jQuery AngularJS Bootstrap前端开发实战