ホームページ >Java >&#&チュートリアル >Java での myeclipse を使用したサーブレットの開発に関するグラフィカルなチュートリアル

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

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

MyEclipse は、独自のプラグインを備えた Eclipse に基づいて開発された強力なエンタープライズ レベルの統合開発環境で、主に Java、Java EE、およびモバイル アプリケーションの開発に使用されます。以下の記事では、myeclipse を使用したサーブレットの開発に関する関連情報を主に紹介します。必要な方は参考にしてください。

web.xmlでは同じサーブレットに対して複数の外部アクセスパスを設定することができ、web.xmlで設定した情報サーバーが自動的に読み込まれてデプロイされ、サーブレット内でプログラムコードが変更された場合、その都度すべてのアクセスパスが設定されます。再配置されることになる。

まず、MyEclipse を使用してサーブレットを作成した後、作成したサーブレットを Web にマッピングします。このサーブレットの構成情報:

もちろん、これに外部アクセス パスを追加し続けることもできます。このサーブレットに別のパスからアクセスできるように、web.xml ファイル内のサーブレットをサーバー上で開きます。この場合

は、このサーブレットの新しい外部アクセス パスを追加するだけです:

この時点で、サーバーはシャットダウンせずに .xml 内の Web 変更を再更新、ロード、およびデプロイできる限り、その部分が再デプロイされたことを示すメッセージを自動的にコンソール ウィンドウに表示します。サーバー:

それでは、新しいアクセスアドレスを試してみましょう:

アクセスできます! !

詳細 2: Web でのサーブレットの外部アクセス パスを構成するには、 でワイルドカード文字として「*」を使用できます。たとえば、コンテンツには「*.拡張子」のみを含めることができます。 *.html のように記述されている場合、abc/*.html は正しくありません。特に/*.htmlも間違っているので注意してください。例:

ブラウザでは、ワイルドカードの位置に次のように入力できます:

これにより、疑似静的な現象が発生しますが、実際には動的 Web リソースです。 別の形式は、/abc/* のように、スラッシュ「/」で始まり、カスタム パスを追加し、「/*」で終わるものです。このとき、拡張子も任意です。例:

ブラウザのアドレスバーのワイルドカード位置に入力でき、拡張子は不要です:

詳細3: 詳細2でエクスポートされた複数のサーブレットリソースのマッピングパスワイルドカードが使用されている場合、競合が発生する可能性があります。では、この時点でサーバーはどのサーブレット リソースで応答するでしょうか。次の質問を見てみましょう。理解できます:

詳細 4: サーブレットのライフサイクル全体で、サーブレットの init() メソッドは 1 回だけ呼び出されます。サーブレットのアクセス要求ごとに、サーブレットは service() メソッドを 1 回呼び出します。そして、アクセス要求ごとに、サーブレットは新しい HttpServletRequest 要求オブジェクトと新しい HttpServletResponse 応答オブジェクトを作成します。もちろん、各リクエストへのアクセスが完了すると、これらのリクエスト オブジェクトとレスポンス オブジェクトはすぐに破棄され、次のリクエストを待ってから再作成されます。これにより、サーバーへの負荷が軽減されます (非同時実行の場合)。

詳細 5: 前述のサーブレットがサーバーにデプロイされた後、サーブレットのインスタンス オブジェクトは、サーブレットが初めてアクセスされたとき、および Web の特定の タグ内にある場合にのみサーバーによって作成されます。 タグが以下のように設定されている場合、サーブレットはサーバーの起動後にインスタンス オブジェクトを作成し、サーブレットの初期化 init() メソッドを実行します。 の内容は正の整数値です。値が小さいほど、Servlet オブジェクトが最初に作成され、サーバーの起動後に初期化メソッドが実行されることを意味します。

詳細 6: サーブレットのマッピング パスがスラッシュ「/」のみの場合、このサーブレットは現在の Web アプリケーションのデフォルト サーブレットと呼ばれます。 Web アクセス リクエストで一致する タグが見つからない URL の場合。

たとえば、ここで 2 つのサーブレットを作成し、1 つはカスタマイズされた外部マッピング パスを持ち、もう 1 つはデフォルトのサーブレットとして設定されています。

SecondServlet にアクセスするには、ブラウザで対応するパスをたどる必要があります。アドレスバーに入力:

デフォルトのサーブレットの場合は、Webアプリケーション名の後に入力してください:

(入力しない場合は、既存のホームページindex.jspが表示されます。理由は、を参照してください)以下の詳細 6)

詳細 6 (重要) : 開発したサーブレットにデフォルトのサーブレットを設定せず、Web プロジェクトの下の静的 Web リソース (存在する場合) に直接アクセスする場合、ブラウザからこの Web リソースを表示できるようにします 覚えておいてください: Web リソースをリクエストすると、返されたデータに応答するために特定のサーブレットが使用されます では、デフォルトのサーブレットを設定していないのに、なぜこれにアクセスできるのでしょうか?リソース?言い換えれば、どのサーブレットが必要なリソースを返してくれるでしょうか?答えは、Tomcat サーバーのデフォルトのサーブレットです。 ! ! Tomcat サーバーのデフォルトのサーブレットには、Tomcat の [conf] ディレクトリの web.xml ファイルにマッピング パスが設定されています:

Tomcat の web.xml ファイルからわかるように、デフォルトのサーブレットはサーバーの起動時にインスタンスを作成します。オブジェクトであり、最も早く作成されたものであり、外部パスはデフォルト形式に設定されています。このデフォルトのサーブレットは、カスタム作成された各サーブレット プロジェクトを管理します。独自の Web プロジェクトにデフォルトのサーブレットを作成しない場合、独自の Web プロジェクト内のリソースにアクセスする場合、Tomcat のデフォルトのサーブレットがリソースの変換に役立ちます。リソースは応答オブジェクトにカプセル化され、クライアントに送り返されます。

たとえば、Web プロジェクトの下に 1.html ページを作成します:

そして、ブラウザに移動してこのページにアクセスします:

この URL の場合、Tomcat サーバーは最初に私のサーブレットと一致します。対応するマッピング パスが存在せず、Web プロジェクトにデフォルトのサーブレットを設定していない場合、Tomcat のデフォルトのサーブレットは Web アプリケーションの下で HTTP リクエスト リソースを検索し、それを応答オブジェクトにカプセル化して返します。それをクライアント側に。 Tomcat のデフォルトのサーブレットが必要なリソースを見つけられない場合でも、クライアントに応答しますが、クライアントには、リソースが見つからないことを示すプロンプト (404 プロンプトなど) が表示されます。さらに、このプロセスに従って、独自のサーブレットを開発する場合、独自のサーブレットの 1 つをデフォルトのサーブレットにマップしないことが推奨されます。

次に、ホームページの問題について話しましょう。 Web アプリケーション内の特定のリソースにアクセスする (最後にブラウザーのアドレスにファイル名を入力する) ことに加えて、Web アプリケーション名を入力した後に HTTP リクエストも送信されます。このとき、表示されるのは通常 と呼ばれるページです。は「ホームページ」であり、このホームページもデフォルトのサーブレットによって応答されます。

たとえば、MyEclipse を使用して Web アプリケーションを作成すると、デフォルトで「index.jsp」ファイルが作成されます:

そして、Web アプリケーションにサーブレットを作成していないか、たとえサーブレットを作成し、特定の外部 URL にマッピングします。その後、ブラウザーにホスト アドレス + Web アプリケーション名を入力すると、この Index.jsp が表示されます。

前に述べたように、このページは Tomcat サーバーのデフォルトのサーブレットによってクライアントに送り返される必要があります。では、なぜ Tomcat サーバーは他のリソースではなくこのリソースを送り返すのでしょうか。答えはまだ web.xml ファイルにあります。「Tomcat の詳細な使用方法の学習 (3)」で定義したホームページの設定を覚えていますか? はい、このメソッドはデフォルトのサーブレットによって管理されます。 Tomcat の Web 設定 .xml ファイル内の タグ:

ブラウザの入力アドレスが Web アプリケーション名のみを入力する場合、Tomcat のデフォルトのサーブレットは、この Web の下にindex.html ファイルを送信します。アプリケーション、そうでない場合は、index.htm ファイルを送信し、それ以外の場合は、index.jsp を送信します。3 つのいずれも存在しない場合は、404 のみを返すことができます。

このコードをコメントアウトまたは削除して、Web アプリケーション名に直接アクセスしたい場合は、index.jsp ファイルを削除したときと同じになります。Tomcat のデフォルトのサーブレットはリソースを見つけることができず、404 プロンプトを返します ( MyEclipse サーバーで再起動する必要があります):

したがって、Web アプリケーション用の美しいホームページを作成したい場合は、index.jsp で開発するか、別の Index.html ファイルを作成するだけで済みます。このファイルは、index.jsp よりも最初にアクセスされます。

詳細 7: 開発サーブレットはサーブレット インターフェイスの特定の実装クラスを継承する必要があるため、doGet メソッドまたは doPost メソッドを作成するときに、例外をスローするいくつかのメソッドを呼び出す可能性があります。その後、これらの例外を処理します。これは、サブクラスが親クラスのメソッドをオーバーライドするときに、親クラスよりも多くの例外をスローできないためです。

概要

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

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