SOAおよびWebサービス技術の実験レポート[全集]

使用した教材:「JavaWebサービスの構築と運用」この記事がお役に立てば、気に入ってフォローしてください。

6時間の実験トピック:①Webサービス環境の構築; ②HttpServletクラスとしてのRESTサービス; ③JAX-RSWebサービス; ④JAX-RSクライアント;⑤JAX -RSクライアント;⑥WSDLサービス契約

この実験に必要なすべてのコード(明確にするためにすでに整理されています): https //download.csdn.net/download/qq_41587612/12517176

上記にはポイントが必要です。ポイントがない場合は、Githubからダウンロードできます:https//github.com/PigeonIsSmart/SOA-WebService

●常见报错:ローカルホストのTomcat v7.0サーバーに必要ないくつかのポート(8005、8080、8009)はすでに使用されていますか?

   解決策:https //blog.csdn.net/xiaopingga/article/details/84988526

よくある質問:Windowsコンソールcmdの中国語の文字化け?

   恒久的な解決策:https //blog.csdn.net/qq_35038153/article/details/78430359

●一般的なHttp応答ステータスコード?

実験1Webサービス環境の構築(初心者でない場合はスキップできます。簡単に説明してください) 

1.実験の目的

  1. Java環境のインストールをマスターします。
  2. 日食の基本的な使い方をマスターしましょう。
  3. JavaWebプロジェクトの作成方法を学びます。

2.実験内容

      1.Java環境のインストールと構成。

           1)Javaダウンロードアドレス

                http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

                 Webサイトのバージョンに応じて、システムに適したバージョンをダウンロードしてください。

          2)Javaのインストール

          3)JAVA_HOME配置。

                i。システムの詳細設定を開く

               ii。[環境変数]をクリックします

              iii。システム変数にJAVA_HOMEという名前の環境変数を作成します。変数値はJAVAのインストールディレクトリです。

          4)システム変数でパスを見つけ、変数値の最後にセミコロン「;」を追加してから、Javaをインストールしたパスとビンをコピーして[OK]をクリックします。

          5)インストールが成功したかどうかを確認します。

                i。CMDにjava-versionと入力します。Javaのバージョン番号が表示されれば、インストールは成功しています。

      2.Eclipseを使用して新しいJavaWebプロジェクトを作成します。

          1)Tomcatを構成します

                i。ウィンドウタブの下の設定を開きます

               ii。Tomcatを構成します

          2)新しいjava_webアプリケーションを作成します

                i。動的Webプロジェクトを選択します

               ii。プロジェクト名を取得し、Tomcatを選択して、[次へ]をクリックします

              iii。[生成]を選択し、[完了]をクリックします。

      3.プログラムを実行し、出力結果を出力します。

          1)WebContextでindex.jspを作成します

          2)jspを変更し、プロジェクトを右クリックして[サーバーとして実行]を選択します(学生自身の名前と学生IDを表示する必要があります)

3.実験要件

  1. 学生は、Java環境のインストールプロセスに習熟している必要があります。
  2. eclispでTomcatを構築する方法を学びます。
  3. Eclipseを使用してWebプロジェクトを作成する方法を学びます。
  4. Tomcatサーバーを使用してJavaWebプログラムを実行する方法を学びます。

4.実験結果

実験2:HttpServletクラスとしてのRESTfulサービス

1.実験の目的

  1. HttpServletクラスとしてのRESTfulサービスに精通している。

2.実験内容

      1.新しいprediction2プロジェクトを作成します。

      2.新しいprediction2パッケージを作成し、JerseyClient、Prediction、Predictions、およびPredictionsServletクラスを作成します。(リソースパックは以下に提供されます!)

      3.必要なJarパッケージをインポートし、データファイルをインポートします。

      4.web.xmlを変更します

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>predictor</servlet-name>
    <servlet-class>predictions2.PredictionsServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>predictor</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
</web-app>

      5.プロジェクトを実行します

3.実験要件

  1. 予測2スタイルのサーブレットサービスの構築をマスターします。

第四に、実験プロセスとスクリーンショット

違い:Eclipseでの実行結果の最初の行にはテキストの説明はありませんが、ブラウザーにはあります。

実験3JAX-RSWebサービス

http://www.jquerycn.cn/a_17530を参照してください。植字は直接見るのに耐えられませんが、一部のコードには詳細な中国語のコメントがあります。私が提供した情報パッケージのコードは英語のコメントです。

1.実験の目的

  1. JAX-RSを使用してRESTfulサービスフレームワークを実装する方法を学びます。
  2. curlを使用してHTTPリクエストを送信する方法を学びます。

2.実験内容

      1. JAX-RSは、RESTfulWebサービス用のJavaAPIの略です。これは、JavaRestfulサービスの開発を迅速かつ簡単にすることができるJavaAPIです。このAPIは、分散リソースを記述するためのアノテーションベースのモデルを提供します。注釈は、リソースの場所、リソースの表現、およびプラグ可能なデータバインディングアーキテクチャを提供するために使用されます。

      2.curlのダウンロードと構成

          1)ダウンロードアドレス:https//curl.haxx.se/download.htmlシステムバージョンに適したカールを選択してください

          2)curl(win64)のインストールと構成

                i。インストールパッケージを解凍します

               ii。curl環境変数を構成します(パスは解凍後のcurlのファイルパスです)

 

Xiaobaiの補足説明:デスクトップの[このコンピューター]を右クリックし、[プロパティ]を選択し、ポップアップウィンドウの左側にある[システムの詳細設定]を選択し、ポップアップの下部にある[環境変数]を選択します。上のウィンドウで、ポップアップウィンドウの[システム変数]をクリックします。①新しい「CURL_HOME」を作成します。変数値は「curldecompressionpath」です。②「Path」を編集し、右側の「end」ボタンを押します。キーボードの(無効な場合は、最初に「numlock / scrlock」を押します[「numlk」を知らない」と略します。もう一度「end」を押します)「変数値」の最後に戻り、「curl'sbin」を追加しますセミコロンの後のパス」。

      3. JAX-RSを使用して、RESTfulサービスフレームワークを構築します。

          1)新建Prediction、PredictionsList、PredictonsRS、RestfulPredictionクラス。

          2)新しいWebプロジェクトを作成します

          3)jarパッケージとデータファイルをインポートします 

          4)web.xmlを変更します 

<?xml version="1.0" encoding="UTF-8"?>  
<web-app>  
  <servlet>  
    <servlet-name>jersey</servlet-name>  
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>  
    <load-on-startup>1</load-on-startup>
  </servlet>      
</web-app>

          5)プロジェクトを実行します(注:データパッケージのreadmeファイルに書き込まれるアクセスパスは404になりますが、パスの後に/ xmlまたは/ jsonを追加することでアクセスできます)

      4.カールの使用

          1)cmdに次のコマンドを1つずつ入力して、出力結果を表示します。

                私。curl http:// localhost:8080 / JAX-RS / resourcesP / xml

               ii。curl http:// localhost:8080 / JAX-RS / resourcesP / json

          2)PredictionsRS.javaを表示し、curlを使用してID1のコンテンツをxml形式で出力します。

3.実験要件

  1. 学生は、JAX-RSを使用して単純なRESTfulサービスフレームワークを習得する必要があります。
  2. curlのインストールと構成、および使用方法を学びます。

第四に、実験プロセスとスクリーンショット

実験4JAX-RSクライアント

1.実験の目的

  1. JAX-RSクライアントの構築をマスターします。
  2. 予測2RESTベースのサービス用のクライアントを作成します。
  3. クライアントとサーバー間の相互作用を理解します。

2.実験内容

     1.新しいpredictions2サービスを作成します。

    2.プロジェクトRunonServerを右クリックします

     3. Forecasts2パッケージの下に新しいJerseyClientクラスを作成し、必要なjarパッケージをインポートします。

     4. JerseyClientクラスを右クリックし、[JavaApplicationとして実行]を選択します。コンソール操作の結果を表示します。

     5. JerseyClient.javaを変更し、id = 10のデータを出力および削除するように要求します。出力形式は、JSONです。変更されたコード▼

package predictions2;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import javax.ws.rs.core.MediaType;
import com.sun.jersey.api.representation.Form;

public class JerseyClient {
	private static final String baseUrl = "http://localhost:8080/predictions2";

	public static void main(String[] args) {
		new JerseyClient().demo();
	}

	private void demo() {
		Client client = Client.create();
		client.setFollowRedirects(true); // in case the service redirects

		WebResource resource = client.resource(baseUrl);
		getAllDemo(resource);
		postDemo(resource); // same resource but different verb

		String url = baseUrl + "?id=10";
		resource = client.resource(url);
		getOneDemo(resource);
		deleteDemo(resource); // delete id = 10
	}

	private void getAllDemo(WebResource resource) {
		String response = resource.accept(MediaType.APPLICATION_JSON_TYPE).get(String.class);
		report("GET all in JSON:\n", response);
	}

	private void getOneDemo(WebResource resource) {
		String response = resource.accept(MediaType.APPLICATION_JSON_TYPE).get(String.class);
		report("GET one in JSON:\n", response);
	}

	private void postDemo(WebResource resource) {
		Form form = new Form(); // HTTP body, a simple hash
		form.add("who", "William Butler Yeats");
		form.add("what", "I know that I shall meet my fate");

		String response = resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).accept
				(MediaType.TEXT_PLAIN_TYPE).post(String.class, form);
		report("POST:\n", response);
	}

	private void deleteDemo(WebResource resource) {
		String response = resource.accept(MediaType.TEXT_PLAIN_TYPE).delete(String.class);
		report("DELETE:\n", response);
	}

	private void report(String msg, String response) {
		System.out.println("\n" + msg + response);
	}
}

3.実験要件

  1. 学生はJAX-RSクライアントの構成をマスターする必要があります。
  2. プログラムは正常に呼び出され、変更されました。

第四に、実験プロセスとスクリーンショット

次の写真はJerseyClient.javaの実行結果であり、内容は非常に長く、理解しやすいように一部が切り取られています。

 

上記の3つの写真は連続しています。第0条から数えると、プログラムは最初に第31条(最後の1つ)の予測を削除し、予測を追加したことがわかります(「運命を迎えることを知っています」が31の新しい予測になります) [HTTP本文、単純なハッシュ]、「id = 10のデータを出力して削除し、出力形式はJSON」に変更する必要があります。

JerseyClient.java(合計59行のコード)を確認するだけで、変更/読み取りが非常に簡単です。恐れることはありません。

変更後の実行(継続)結果は次のとおりです。

 

以下の条件がある場合は、サーバーで再実行してから、JavaApplicationとして実行してください。

JerseyClient.javaは一度実行されました。JavaApplicationとして実行をもう一度繰り返すと、次のようになります▼

 実験5JAX-RSクライアント

1.実験の目的

  1. RESTクライアントの構築をマスターします。
  2. 予測3サービスに基づいてクライアントを作成します。
  3. クライアントとサーバー間の相互作用に精通している。

2.実験内容

     1.新しいpredictions3プロジェクトを作成します。

 

     2.サーバーで実行されているプロジェクトを右クリックします。

     3.クライアントパッケージを作成し、その中にJavaクラスを作成して、jarパッケージをインポートします。

     4. JerseyClientクラスを右クリックし、[JavaApplicationとして実行]を選択します。コンソール操作の結果を表示します。

3.実験要件

  1. 学生はRESTクライアントの構成をマスターする必要があります。
  2. プログラムは正常に呼び出され、変更されました。

4.実験結果

毎日警告を無視します。クライアントパッケージ(パッケージ)を作成し、クラスとjarパッケージをインポートし、Predictions3Clientクラスを右クリックして、JavaApplicationとして実行します。

 実験6WSDLサービス契約

1.実験の目的

  1. Javaコードを使用してエンドポイントを公開する方法を学びます。
  2. WSDLの役割を理解します。

2.実験内容:

  1. 新しいプロジェクトを作成する
  2. 新しいRandPublisher、RandServiceクラスを作成します。

  3. jarパッケージとxmlをインポートします

  4. web.xmlを変更します
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:web="http://xmlns.jcp.org/xml/ns/javaee">
      <listener>
        <listener-class>
          com.sun.xml.ws.transport.http.servlet.WSServletContextListener
        </listener-class>
      </listener>
      <servlet>
        <servlet-name>jaxws</servlet-name>
        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>jaxws</servlet-name>
        <url-pattern>/*</url-pattern>
      </servlet-mapping>
    </web-app>
  5. プロジェクトを実行する
  6. RandPublisherクラスを実行し、ブラウザにhttp:// localhost:8888 / wsと入力します

3.実験要件

  1. Javaコードを使用してエンドポイントを公開する方法を学びます。
  2. WSDLの役割を把握します。
  3. コードは正常にデバッグされました。

4、実行中の結果

先JavaApplicationで実行、サーバーとして実行!

おすすめ

転載: blog.csdn.net/qq_41587612/article/details/106428769