《Java RESTful Web Service实战 第2版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:韩陆著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111542131
  • 页数:284 页
图书介绍:全书共10章,包括JAX-RS2入门、REST API设计、REST请求处理、REST服务与异步、REST客户端、REST测试、微服务、容器化、JAX-RS调优、REST安全等内容。书中从基础概念开始,结合大量示例和实现代码,将REST理论与Java实现相结合,循序渐进地阐述Java REST式服务,为读者提供更精炼、更准确、更全面的参考。

第1章 JAX-RS2入门 1

1.1 解读REST 1

1.1.1 一种架构风格 2

1.1.2 基本实现形式 2

1.2 解读REST服务 3

1.2.1 REST式的Web服务 3

1.2.2 对比RPC风格 3

1.2.3 对比MVC风格 4

1.3 解读JAX-RS标准 5

1.3.1 JAX-RS2标准 5

1.3.2 JAX-RS2的目标 5

1.3.3 非JAX-RS2的目标 6

1.3.4 解读JAX-RS元素 7

1.4 Jersey项目概要 7

1.4.1 获得Jersey 8

1.4.2 Jersey问答 8

1.4.3 Jersey项目管理 8

1.4.4 Jersey许可 9

1.4.5 Jersey的模块 10

1.4.6 GlashFish项目 10

1.5 快速实现Java REST服务 12

1.5.1 第一个REST服务 13

1.5.2 第一个Servlet容器服务 17

1.6 快速了解Java REST服务 19

1.6.1 REST工程类型 19

1.6.2 REST应用描述 24

1.7 Java领域的其他REST实现 27

1.7.1 JAX-RS的其他实现 27

1.7.2 其他的REST实现 31

1.8 REST调试工具 33

1.8.1 命令行调试工具 33

1.8.2 基于浏览器的图形化调试插件 34

1.9 本章小结 37

第2章 REST API设计 38

2.1 统一接口 38

2.1.1 GET方法 39

2.1.2 PUT方法 41

2.1.3 DELETE方法 43

2.1.4 POST方法 44

2.1.5 WebDAV扩展方法 45

2.2 资源定位 47

2.2.1 资源地址设计 48

2.2.2 @QueryParam注解 50

2.2.3 @PathParam注解 52

2.2.4 @FormParam注解 55

2.2.5 @BeanParam注解 57

2.2.6 @CookieParam注解 58

2.2.7 @Context注解 58

2.3 传输格式 59

2.3.1 基本类型 59

2.3.2 文件类型 60

2.3.3 InputStream类型 61

2.3.4 Reader类型 62

2.3.5 XML类型 62

2.3.6 JSON类型 66

2.4 连通性 82

2.4.1 过渡型链接 82

2.4.2 结构型链接 83

2.5 处理响应 84

2.5.1 返回类型 85

2.5.2 处理异常 86

2.6 内容协商 89

2.6.1 @Produces注解 89

2.6.2 @Consumes注解 91

2.7 本章小结 92

第3章 REST请求处理 93

3.1 Jersey的AOP机制 93

3.2 Providers详解 94

3.2.1 实体Providers 94

3.2.2 上下文Providers 100

3.3 REST请求流程 100

3.4 REST过滤器 102

3.4.1 ClientRequestFilter 102

3.4.2 ContainerRequestFilter 103

3.4.3 ContainerResponseFilter 104

3.4.4 ClientResponseFilter 105

3.4.5 访问日志 107

3.5 REST拦截器 109

3.6 绑定机制 111

3.6.1 名称绑定 111

3.6.2 动态绑定 113

3.7 优先级 115

3.8 本章小结 116

第4章 REST服务与异步 117

4.1 为什么使用异步机制 117

4.1.1 服务器异步机制 117

4.1.2 客户端异步机制 118

4.2 JAX-RS2的异步机制 119

4.2.1 服务端实现 119

4.2.2 客户端实现和测试 122

4.3 基于HTTP1.1的异步通信 124

4.3.1 Polling技术 124

4.3.2 Comet技术 126

4.3.3 Web Hook异步通信 127

4.3.4 SSE技术 128

4.4 基于HTML5的异步通信 129

4.4.1 SSE的原理 129

4.4.2 发布—订阅模式的实现 131

4.4.3 广播模式的实现 135

4.4.4 WebSocket技术 137

4.5 本章小节 138

第5章 REST客户端 139

5.1 客户端接口 140

5.1.1 Client接口 140

5.1.2 WebTarget接口 141

5.1.3 Invocation接口 142

5.2 连接池 142

5.2.1 资源释放 142

5.2.2 连接器 144

5.2.3 HTTP连接池 146

5.3 封装Client 147

5.4 请求Spring Boot微服务 148

5.4.1 不同的JSON解析方式 148

5.4.2 完整示例 150

5.5 JavaScript客户端 150

5.5.1 jQuery客户端 151

5.5.2 AngularJs客户端 152

5.6 本章小结 152

第6章 REST测试 153

6.1 Jersey测试框架 153

6.2 单元测试 156

6.2.1 集成Spring的单元测试 156

6.2.2 异步测试 158

6.3 集成测试 158

6.4 日志增强 159

6.5 本章小结 160

第7章 微服务 161

7.1 微服务技术栈 162

7.1.1 服务发现 163

7.1.2 可伸缩性 163

7.1.3 回到起点 164

7.2 REST服务与Spring Boot 165

7.2.1 Bootiful 165

7.2.2 RESTful 167

7.2.3 Actuator 168

7.3 REST服务与Spring Cloud 172

7.3.1 Spring Cloud Zookeeper 172

7.3.2 Spring Cloud Consul 182

7.3.3 Spring Cloud Etcd 187

7.4 本章小结 193

第8章 容器化 195

8.1 容器技术 195

8.1.1 容器 195

8.1.2 Docker技术栈 197

8.1.3 容器文化 199

8.2 REST服务与容器 201

8.2.1 开始容器化之路 201

8.2.2 开发自测容器化 204

8.3 容器化微服务 206

8.3.1 Zookeeper 207

8.3.2 Kafka 212

8.3.3 微服务 214

8.3.4 Nginx 217

8.4 本章小结 220

第9章 JAX-RS调优 223

9.1 使用缓存优化负载 223

9.1.1 缓存协商 223

9.1.2 条件GET 225

9.1.3 REST缓存实践 227

9.1.4 ab测试 229

9.2 使用版本号优化服务 229

9.2.1 何时使用版本号 230

9.2.2 如何使用版本号 230

9.3 使用参数配置优化服务 232

9.3.1 通用配置 232

9.3.2 服务器端和客户端配置类 233

9.4 Java虚拟机调优 234

9.4.1 虚拟机概述 234

9.4.2 内存溢出与内存泄漏 236

9.5 本章小结 238

第10章 REST安全 239

10.1 身份认证 240

10.1.1 基本认证 241

10.1.2 摘要认证 241

10.1.3 表单认证 242

10.1.4 证书认证 242

10.2 资源授权 244

10.2.1 容器管理权限 244

10.2.2 应用管理权限 246

10.3 认证与授权实现 247

10.3.1 基本认证与JDBCRealm 247

10.3.2 摘要认证与UserDatabase-Realm 255

10.3.3 表单认证与DataSource-Realm 258

10.3.4 Form认证和JAASRealm 263

10.3.5 证书认证与UserDatabase-Realm 266

10.4 JAX-RS2实现 270

10.4.1 Application类 270

10.4.2 资源类 271

10.4.3 资源测试类 271

10.5 REST服务与OAuth2 273

10.5.1 OAuth2概述 274

10.5.2 OAuth2流程 275

10.5.3 OAuth2实现 276

10.6 本章小结 280

参考资料 282