ホームページ >Java >&#&チュートリアル >Java での myeclipse を使用したサーブレットの開発に関するグラフィカルなチュートリアル
MyEclipse は、独自のプラグインを備えた Eclipse に基づいて開発された強力なエンタープライズ レベルの統合開発環境で、主に Java、Java EE、およびモバイル アプリケーションの開発に使用されます。以下の記事では、myeclipse を使用したサーブレットの開発に関する関連情報を主に紹介します。必要な方は参考にしてください。
web.xmlでは同じサーブレットに対して複数の外部アクセスパスを設定することができ、web.xmlで設定した情報サーバーが自動的に読み込まれてデプロイされ、サーブレット内でプログラムコードが変更された場合、その都度すべてのアクセスパスが設定されます。再配置されることになる。
まず、MyEclipse を使用してサーブレットを作成した後、作成したサーブレットを Web にマッピングします。このサーブレットの構成情報:
もちろん、これに外部アクセス パスを追加し続けることもできます。このサーブレットに別のパスからアクセスできるように、web.xml ファイル内のサーブレットをサーバー上で開きます。この場合
は、このサーブレットの新しい外部アクセス パスを追加するだけです:
この時点で、サーバーはシャットダウンせずに .xml 内の Web 変更を再更新、ロード、およびデプロイできる限り、その部分が再デプロイされたことを示すメッセージを自動的にコンソール ウィンドウに表示します。サーバー:
それでは、新しいアクセスアドレスを試してみましょう:
アクセスできます! !
詳細 2: Web でのサーブレットの外部アクセス パスを構成するには、
ブラウザでは、ワイルドカードの位置に次のように入力できます:
これにより、疑似静的な現象が発生しますが、実際には動的 Web リソースです。 別の形式は、
詳細3: 詳細2でエクスポートされた複数のサーブレットリソースのマッピングパスワイルドカードが使用されている場合、競合が発生する可能性があります。では、この時点でサーバーはどのサーブレット リソースで応答するでしょうか。次の質問を見てみましょう。理解できます:
詳細 4: サーブレットのライフサイクル全体で、サーブレットの init() メソッドは 1 回だけ呼び出されます。サーブレットのアクセス要求ごとに、サーブレットは service() メソッドを 1 回呼び出します。そして、アクセス要求ごとに、サーブレットは新しい HttpServletRequest 要求オブジェクトと新しい HttpServletResponse 応答オブジェクトを作成します。もちろん、各リクエストへのアクセスが完了すると、これらのリクエスト オブジェクトとレスポンス オブジェクトはすぐに破棄され、次のリクエストを待ってから再作成されます。これにより、サーバーへの負荷が軽減されます (非同時実行の場合)。
詳細 5: 前述のサーブレットがサーバーにデプロイされた後、サーブレットのインスタンス オブジェクトは、サーブレットが初めてアクセスされたとき、および Web の特定の
詳細 6: サーブレットのマッピング パスがスラッシュ「/」のみの場合、このサーブレットは現在の Web アプリケーションのデフォルト サーブレットと呼ばれます。 Web アクセス リクエストで一致する
たとえば、ここで 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 サイトの他の関連記事を参照してください。