第五課:RESTfulクライアントプログラミング
3175 ワード
レッスンサイト:http://ss.sysu.edu.cn/~pml/dct/5_レスファルclient. 関連記事:第一課:Java階段とSocket通信実験 第二課:Socket通信とHTTPサーバ 第三課:Java Webプログラミングの原理 第四課:RESTful Webserviceプログラミング 練習問題の部分
実験1で実行/Sent HTTP PUT request to udate customer infoに対応するcurlを書き出し、出力結果となります。
curl-v-H「Contect Type:appliation/xml」-d「Mary 123」-X PUT「http://localhost:9000/customerservice/customers「 STATE:INIT=>CONNET handle 0 x 600527 f 0ライン1108
問題1では、プログラムの実行過程を簡単に説明します。
ファイル、リソースまたはURLを解析します。
実験1では、CachedOutputStream類の役割は何ですか?
取得して出力ストリームを処理する
ジェームズ文書5.1.Uniform Interface Costrationの5つの目標を翻訳します。 everry resource is identified by a URI;(各リソースは1つのURLに対応) a client interacts with the reource via HTTP requests and reponses using a fixed set of HTTP methods;(お客様が一連のHTTPを使用する方法は、HTTP要求と応答によってリソースと対話する) one or more representations can be returned and are identified by media types;(1つまたは複数の陳述は、伝播媒体によって返され、識別されることができる)and the contens of which can link to further resource.(これらの陳述された内容はより遠いリソースに接続できる) 実験2における公的文書5.2に言及されたUriBuider類の役割を簡単に述べる。
URI building using UriBuider and UriTemplate to safely build URIs翻訳:安全にURLが発生します。
実験3の公式文書を読んで、自分の言語(中国語)でMotivation for Reactive Cient Extensionを述べます。
一人のユーザーが同時に複数のサービスを申請するなら、各サービスに一回申請して結果を得ることができます。でも、これは面倒くさいです。ですから、拡張なしのカスタマーサービスを利用します。お客様は一回だけ申し込めばいいです。
(!)作業に含まれる実行可能な実験プログラムを提供します。
……
実験4の公式文書を読んで、なぜJavaはウェブサービスを書いていますか?通常このようなインターフェースは独立したJavaファイルに置かなければならない。
もっと柔軟で、メンテナンスしやすいためかもしれません。
JAXRESClient Factory類の役割は何ですか?
JAXRESClient Factory工場類を通じてServiceオブジェクトを作成することができます。
透明エージェントの役割を簡単に説明する。
透明エージェントとは、クライアントがプロキシの存在を知る必要がないという意味で、リクェストフィルムを改編し、実際のIPを転送します。ユーザAおよびユーザBは、行動管理装置が透明なエージェントとして機能することを知らない。ユーザAまたはユーザBがサーバAまたはサーバBに要求を提出すると、透明なエージェント装置は、自身のポリシーに従ってブロックし、ユーザAまたはBの報文を修正し、実際の要求側としてサービスAまたはBに要求を送信する。透明エージェントは、自身の設定に従って、許可されたメッセージをユーザAまたはBに返信し、上述のように、透明エージェント設定がサーバBへのアクセスを許可していない場合、ユーザAまたはユーザBはサーバBのデータを取得しない。
参考資料:順方向プロキシ、逆方向プロキシ、透明プロキシ
実験1で実行/Sent HTTP PUT request to udate customer infoに対応するcurlを書き出し、出力結果となります。
curl-v-H「Contect Type:appliation/xml」-d「Mary 123」-X PUT「http://localhost:9000/customerservice/customers「
問題1では、プログラムの実行過程を簡単に説明します。
// ,
System.out.println("
");
System.out.println("Sent HTTP PUT request to update customer info");
// client
Client client = new Client();
// xml
String inputFile = client.getClass().getResource("/update_customer.xml").getFile();
// xml
URIResolver resolver = new URIResolver(inputFile);
// xml URL
File input = new File(resolver.getURI());
// PutMethod
PutMethod put = new PutMethod("http://localhost:9000/customerservice/customers");
// RequestEntity ,
RequestEntity entity = new FileRequestEntity(input, "text/xml; charset=ISO-8859-1");
//
put.setRequestEntity(entity);
// HttpClient
HttpClient httpclient = new HttpClient();
try {
//
int result = httpclient.executeMethod(put);
System.out.println("Response status code: " + result);
System.out.println("Response body: ");
System.out.println(put.getResponseBodyAsString());
} finally {
// Release current connection to the connection pool once you are
// done
put.releaseConnection();
}
実験1では、URIREESOver類の役割を簡単に説明します。ファイル、リソースまたはURLを解析します。
実験1では、CachedOutputStream類の役割は何ですか?
取得して出力ストリームを処理する
ジェームズ文書5.1.Uniform Interface Costrationの5つの目標を翻訳します。
URI building using UriBuider and UriTemplate to safely build URIs翻訳:安全にURLが発生します。
実験3の公式文書を読んで、自分の言語(中国語)でMotivation for Reactive Cient Extensionを述べます。
一人のユーザーが同時に複数のサービスを申請するなら、各サービスに一回申請して結果を得ることができます。でも、これは面倒くさいです。ですから、拡張なしのカスタマーサービスを利用します。お客様は一回だけ申し込めばいいです。
(!)作業に含まれる実行可能な実験プログラムを提供します。
……
実験4の公式文書を読んで、なぜJavaはウェブサービスを書いていますか?通常このようなインターフェースは独立したJavaファイルに置かなければならない。
もっと柔軟で、メンテナンスしやすいためかもしれません。
JAXRESClient Factory類の役割は何ですか?
JAXRESClient Factory工場類を通じてServiceオブジェクトを作成することができます。
透明エージェントの役割を簡単に説明する。
透明エージェントとは、クライアントがプロキシの存在を知る必要がないという意味で、リクェストフィルムを改編し、実際のIPを転送します。ユーザAおよびユーザBは、行動管理装置が透明なエージェントとして機能することを知らない。ユーザAまたはユーザBがサーバAまたはサーバBに要求を提出すると、透明なエージェント装置は、自身のポリシーに従ってブロックし、ユーザAまたはBの報文を修正し、実際の要求側としてサービスAまたはBに要求を送信する。透明エージェントは、自身の設定に従って、許可されたメッセージをユーザAまたはBに返信し、上述のように、透明エージェント設定がサーバBへのアクセスを許可していない場合、ユーザAまたはユーザBはサーバBのデータを取得しない。
参考資料:順方向プロキシ、逆方向プロキシ、透明プロキシ