ホームページ  >  記事  >  Java  >  Java myeclipse を使用したサーブレットの作成に関するグラフィカルなチュートリアル

Java myeclipse を使用したサーブレットの作成に関するグラフィカルなチュートリアル

黄舟
黄舟オリジナル
2017-07-26 15:15:292369ブラウズ

この記事では、主にサーブレットを作成するための myeclipse の関連情報を詳しく紹介します。興味のある方は参考にしてください。次の図に示すように、[myservlet] という名前の Web アプリケーションを作成します。

プロジェクト ウィンドウから、Web プロジェクトを作成すると、[WEB-INF] ディレクトリが自動的に作成され、その下に [lib] ディレクトリと web.xml ファイルが作成されることがわかります。作成した web.xml ファイルの内容を見てみましょう:

Web.xml ファイルはホームページを設定するだけです。なぜこれについては後ほど説明します。

もちろん、「サーブレットの学習(1)」の方法に従ってサーブレットを構築することもできます。つまり、サーブレット実装クラス GenericServelet を継承するクラスを作成し、service() メソッドをオーバーライドして、このサーブレットを Web に設定することもできます。 .xml ファイル。

でも! ! ! GenericServeletクラスを継承する方法ではなく、GenericServeletクラスのサブクラスであるHttpServletクラスを継承します。これを行うことでどのようなメリットがあるのでしょうか? HttpServlet は、HTTP リクエストを処理できるサーブレットを指します。元のサーブレット インターフェイスにいくつかの HTTP プロトコル処理メソッドが追加されており、サーブレット インターフェイスよりも強力であるため、HttpServlet クラスを継承するだけで済みます。 MyEclipse で Web プロジェクトのサーブレットを作成すると、以下の図に示すように、MyEclipse がデフォルトで HttpServlet から作成したサーブレットを継承していることもわかります。

[サーブレット] を選択し、ポップアップし、以下に示すように、サーブレット名: SecondServlet:

MyEclipse が、作成するサーブレットの親クラスを HttpServlet として自動的に選択していることがわかります。

継承するサーブレットの親クラスとして HttpServlet クラスを選択すると、このメソッドのコードが GET である場合に、HttpServlet クラスが service() メソッドをオーバーライドしたことがわかります。したがって、開発時には doGet() メソッドまたは doPost() メソッドをオーバーライドするだけで済みます。 service() メソッドをオーバーライドする必要があります。

詳細については、Servlet API ドキュメントの HttpServlet の詳細を参照してください。

doGetメソッドとdoPostメソッドを確認し、実際の状況に応じてその他のメソッドを追加します。次に、[次へ]をクリックすると、別の設定ウィンドウが表示されます:

[Generate/Map web.xml file]: 作成したサーブレットを web.xml ファイルにマップします。サーブレットを web.xml ファイルにマップすることを選択した場合は、次の仕様に従って、どのコンテンツを web.xml ファイルにマップするかを設定できます。

【サーブレット/JSPクラス名】:web.xmlファイルのb472d9135dbff3dd7fcc77f5995c97d0タグの内容です。

【サーブレット/JSP名】:web.xmlファイルの700b5f17c4d842e4bd410f680f40946bタグに内容を設定します。

【サーブレット/JSPマッピングURL】:web.xmlファイルの870ae7edaa11700bcea972d006efb06eタグ配下の66e1775cbd9d5002635ae3285442ba88タグの内容、つまりサーブレットの外部アクセスパスを設定します。

【web.xmlのファイルパス】: web.xmlのパスは、通常は設定する必要はありません。

「完了」をクリックしたら、もう一度 web.xml ファイルを見てみましょう。はい、先ほど設定したサーブレットから web.xml ファイルへのマッピングが MyEclipse によって web.xml ファイルに追加されています。たくさんのトラブル。以下の図に示すように:

サーブレットのコンテンツを見てみましょう:

はい、これは、MyEclipse がサーブレットの作成時にテンプレートに従って生成するためです。ここではこれらを分離します。最初に必要なコードを削除し、最後の部分で MyEclipse でサーブレット テンプレートを変更する方法を説明します。

このような HttpServlet を継承したサーブレット開発では、doGet メソッドと doPost メソッドのみを考慮します。http リクエストがいつ GET メソッドで、いつ POST メソッドであるかがわからない場合は、次のメソッドを使用できます。次の「ちょっと賢い」メソッドは、メソッド内で GET リクエストまたは POST リクエストを同時に処理するというニーズを満たすためのメソッドです:

HttpServlet の service() メソッドがその親クラス GenericServlet の service() メソッドを上書きしたと述べました。次に、HttpServlet の service() メソッドを見てみましょう。HttpServlet 上でカーソルをクリックして、キーボードを押します。 "F3" キーを押すと、次のことがわかります:

サーブレットの jar パッケージのソース コードが見つかりません。ここでは 2 つの解決策があります:

1. Sun 公式 Web サイトまたは Oracle 公式 Web サイトからサーブレットのソース コードをダウンロードします。

2. Apache-Tomcat 公式 Web サイトから Tomcat ソース コードをダウンロードします。ここではこの方法を選択します:

zip 形式を選択するだけです (tar.gz は Linux 用のようです)。

ダウンロードして解凍すると、ディレクトリの後に「src」という単語が続きます:

次に、MyEclipse で「Attach Source」をクリックします。ディレクトリ全体がインポートされるため、「外部フォルダー」を選択してインポートします。その後、HttpServlet とその service() メソッドのソース コードを確認します。コードは長いため、ここには添付しません。ただし、最初にリクエスト オブジェクト HttpServletRequest のリクエスト メソッドを取得し、次に if 判定を使用します。 doGet メソッドや doPost メソッドなどのさまざまなメソッドをリクエストごとに呼び出します。

次に、作成したばかりのサーブレットに安全に戻り、doGet メソッドにコードを書きます。いくつかのデータを含む単純なリターンをクライアントに書きます。


public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    
    OutputStream out = response.getOutputStream();
    out.write("Hello servlet again !".getBytes());
    
  } 

次に、サーバーを起動して、この Good Servlet を書きます。がリリースされました

最後に、ブラウザで表示できるようになります:

アドレスバーにホストアドレスとポート(あれば)を入力した後、web.xmlが別途設定されていない場合は、次のようになります。 Web プロジェクト名と、web.xml ファイルでサーブレットに設定した外部アクセス パス。

以上がJava myeclipse を使用したサーブレットの作成に関するグラフィカルなチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。