分布式计算(五)——RESTful 客户端编程

1 写出实验 1 中执行 // Sent HTTP PUT request to update customer info 对应的 curl,与输出结果。

curl -v -H "Content-Type: application/xml"  -d "<?xml version=‘1.0‘?><Customer><name>Mary</name><id>123</id></Customer>"  -X PUT "http://localhost:9000/customerservice/customers"

 

 

2 简述 问题 1 中对应程序执行的过程。

 

 

3 实验 1 中,简述 URIResolver 类的作用是什么?

输入的地址字符串转换成带文件类型的URL

 

4 实验 1 中,简述 CachedOutputStream 类的作用是什么?

作为数据的缓冲区,从输入流中读取一定数量的字节,并将其存储在缓冲区中,而不需要循环读取输入源。

 

5 翻译 jersey 文档 5.1. Uniform Interface Constraint 的 5 个目标。

1 简易的,结构要易于理解与维护。和可升级的,耦合度低的。客户端与服务可随着时间不断地升级,需要有向后兼容的能力。

2 每一个资源由URI标识。

3 客户端通过HTTP请求与响应使用一套固定的HTTP方法来与资源进行交互。

4 一个或多个代理可被返回并通过媒体类型被识别。

5 内容可连接到更深入的资源。

 

6 简述实验 2 中官方文档 5.2 提到的 UriBuilder 类的作用。

提供了从不同资源创建URI,修改URI实例的方法。

 

7 阅读实验 3 官方文档,用自己的语言(中文)陈述 Motivation for Reactive Client 。

Reactive方法是一种可以摆脱Java回调地狱的方法,基于数据流概念和通过流来改变执行模型的传播。当Jax-RS请求完成后,数据流中的下一个项目(或用户代码)被声明是延续,完成或者失败。你描述的是接下来该做什么而不是接下来的动作该怎么触发。数据流是可组合的,可以把多个数据流组成一个结果并对其进行操作。

当我们需要处理大量的请求(相互依赖),并且需要把请求组成一个结果时,Reactive编程模式是个不错的选择。

 

8 (!)给出一个可运行的实验程序,包含在作业中。

9 阅读实验 4 官方文档,为什么 Java 写 web 服务必须先声明接口?通常这样的接口必须放在一个独立的 Java 文件中。

定义一系列的公用接口,多子类可实现,便于以后扩展,维护和节约有效的时间,相同接口,但是可有不同实现,互不干扰。

 

10 JAXRSClientFactory 类的作用是什么?

创建代理客户端。

 

11 简述透明代理的作用。

用户A和用户B并不知道行为管理设备充当透明代理行为,当用户A或用户B向服务器A或服务器B提交请求的时候,透明代理设备根据自身策略拦截并修改用户A或B的报文,并作为实际的请求方,向服务器A或B发送请求,当接收信息回传,透明代理再根据自身的设置把允许的报文发回至用户A或B,如果透明代理设置不允许访问服务器B,那么用户A或者用户B就不会得到服务器B的数据。

时间: 2024-10-08 20:04:21

分布式计算(五)——RESTful 客户端编程的相关文章

20145331实验五 Java网络编程及安全

实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统 4.结队伙伴:20145333赵嘉鑫 博客地址:http://home.cnblogs.com/u/5301z/ 5.分工:自己负责服务端,伙伴负责客户端 实验要求 1.基于Java Socket实现安全传输 2.基于TCP实现客户端和服务器,结对编程一人负责客户端,一人负责服务器 3.使用Git进行版本控制 4.选择对称算法进行数据加解密. 5.选择非对称算法对对称加密密

20145301实验五 Java网络编程及安全

北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18:30-21:30 实验名称:实验五 Java网络编程 实验内容 1.用书上的TCP代码,实现服务器与客户端. 2.客户端与服务器连接 3.客户端中输入明文,利用DES算法加密,DES的秘钥用RSA公钥密码中服务器的公钥加密,计算明文的Hash函数值,一起传送给客户端 4.客户端用RSA公钥密码中服务器的私钥解密DES的,秘钥,用秘钥对密文进行解密,得出明文.计算

实验五Java网络编程及安全——20135337朱荟潼

实验五 Java网络编程及安全 结对伙伴:20135317韩玉琪(负责服务器方)http://www.cnblogs.com/hyq20135317/p/4567241.html 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全 实验步骤 1.信息安全传送: 发送方A——————>接收方B A加密时,用B的公钥 B解密时,用B的私钥 发送方A对信息(明文)采用DES密钥加密,使用RSA加密前面的DES密钥信息,最终将混合信息进行传递.同时用hash函数将明文进行

实验五Java网络编程及安全

实验五 Java网络编程及安全 结对伙伴:20135231林涵锦(负责服务器方)http://www.cnblogs.com/20135213lhj/  实验目的与要求: 1.掌握Java网络编程的方法: 2.掌握Java安全编程的方法: 3. 能综合使用各种技术:   实验内容 1. 基于Java Socket实现安全传输 2. 基于TCP实现客户端和服务器,结对编程一人负责客户端,一人负责服务器 3. 使用Git进行版本控制 4. 选择对称算法进行数据加解密. 5. 选择非对称算法对对称加密

2017-2018-2 20165315 实验五《网络编程与安全》实验报告

2017-2018-2 20165315 实验五<网络编程与安全>实验报告 一.实验过程及结果截图 任务一: 两人一组结对编程: 参考博客 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java MyDC.java 示例代码: 1 import java.util.StringTokenizer; 2 import java.util.Stack; 3 4 public class MyDC 5 { 6 /*

2017-2018-2 20165318 实验五《网络编程与安全》实验报告

2017-2018-2 20165318 实验五<网络编程与安全>实验报告 一.实验报告封面 课程:Java程序设计        班级:1653班        姓名:孙晓暄        学号:20165318 指导教师:娄嘉鹏                          实验日期:2018年5月28日 实验时间:13:45 - 3:25                实验序号:实验五 实验名称:网络编程与安全 二.实验内容及步骤 目录 任务一 任务二 任务三 任务四 任务五 实验体

2017-2018-2 20165237 实验五《网络编程与安全》实验报告

2017-2018-2 20165237 实验五<网络编程与安全>实验报告 实验报告表头: No.1 实验要求: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java 上传测试代码运行结果截图和码云链接 实验截图 No.2 实验要求: 注意责任归宿,要会通过测试证明自己没有问题 基于Java Sock

2018-2019-2 20175306实验五《网络编程与安全》实验报告

目录 2018-2019-2 20175306实验五<网络编程与安全>实验报告 实验步骤 (一)网络编程与安全-1 实验要求: 实验代码: 运行截图: (二)网络编程与安全-2 实验要求: 知识点: 运行结果:我负责服务器端 (三)网络编程与安全-3 实验要求: 实验结果: 参考:Java密码学算法 (四)网络编程与安全-4 实验要求: 知识点: 实验代码:服务器端 实验结果: (五)网络编程与安全-5 实验要求: 实验代码: 实验结果: 码云链接 实验感想: 2018-2019-2 2017

2018-2019-2 20175320实验五《网络编程与安全》实验报告

2018-2019-2 20175320实验五<网络编程与安全>实验报告 一.相关介绍 在本次实验中我主要使用了书本第13章Java网络编程以及Java密码学的内容,基于TCP的信息传输使用socket进行实现,加密.解密.生成共享密钥以及进行摘要验证使用了Java中的JCA以及JCE. 二.实验步骤及内容 (一)任务一 任务要求: 结对实现中缀表达式转后缀表达式的功能并对后缀表达式进行计算 虽然该功能是后续步骤的基础,但在以前的结对项目中已经实现过了,在这里我就不再多做介绍了,详情请见博客结