ホームページ Java &#&チュートリアル サーブレット API とはどういう意味ですか?

サーブレット API とはどういう意味ですか?

May 16, 2019 pm 01:32 PM
java

Java Servlet Development Kit (JSDK) は、サーブレットを作成するときに必要な複数のソフトウェア パッケージを提供します。これらには、すべてのサーブレット用の 2 つの基本パッケージ、javax.Servlet と javax.Servlet.http が含まれます。 Java サーブレット開発ツールは、Sun の Web サイトからダウンロードできます。

推奨コース: Java チュートリアル

サーブレット API とはどういう意味ですか?

以下では、javax.Servlet.http が提供する HTTP サーブレット アプリケーション プログラミング インターフェイスを主に紹介します。
HTTP サーブレットは、HTML フォームを使用してデータを送受信します。 HTTP サーブレットを作成するには、HTML テーブルを処理するための特殊なメソッドを備えた GenericServlet のサブクラスである HttpServlet クラスを拡張します。 HTML フォームは と タグによって定義されます。通常、フォームには入力フィールド (テキスト入力フィールド、チェック ボックス、ラジオ ボタン、選択リストなど) とデータを送信するためのボタンが含まれています。情報を送信するときは、サーバーが実行するサーブレット (または他のプログラム) も指定します。 HttpServlet クラスには、init()、destroy()、service() およびその他のメソッドが含まれます。 init() メソッドと destroy() メソッドは継承されます。

サーブレット API の一般的なメソッド:

(1)サーブレットAPIのInit()メソッド
サーブレットのライフサイクルにおいて、init()メソッドは一度だけ実行されます。これは、サーバーがサーブレットをロードするときに実行されます。サーブレットの起動時、またはクライアントが初めてサーブレットにアクセスしたときにサーブレットをロードするようにサーバーを構成できます。サーブレットにアクセスするクライアントの数に関係なく、init() が繰り返し実行されることはありません。
デフォルトの init() メソッドは通常、要件を満たしていますが、通常はサーバー側のリソースを管理するために、カスタムの init() メソッドでオーバーライドすることもできます。たとえば、GIF 画像を 1 回だけロードするカスタム init() を作成すると、GIF 画像を返し、複数のクライアント要求を含むサーブレットのパフォーマンスが向上します。別の例は、データベース接続の初期化です。デフォルトの init() メソッドはサーブレットの初期化パラメータを設定し、その ServletConfig オブジェクト パラメータを使用して構成を開始するため、init() メソッドをオーバーライドするすべてのサーブレットは super.init() を呼び出して、これらのタスクが確実に実行されるようにする必要があります。 service() メソッドを呼び出す前に、init() メソッドが完了していることを確認する必要があります。
(2) サーブレット API の Service() メソッド
service() メソッドはサーブレットの中核です。クライアントが HttpServlet オブジェクトを要求するたびに、オブジェクトの service() メソッドが呼び出され、「要求」 (ServletRequest) オブジェクトと「応答」 (ServletResponse) オブジェクトがパラメータとしてこのメ​​ソッドに渡されます。 service() メソッドは HttpServlet にすでに存在します。デフォルトのサービス関数は、HTTP リクエストのメソッドに対応する do 関数を呼び出します。たとえば、HTTP リクエスト メソッドが GET の場合、デフォルトで doGet() が呼び出されます。サーブレットは、サーブレットがサポートする HTTP メソッドの do 機能をオーバーライドする必要があります。 HttpServlet.service() メソッドは、リクエスト メソッドが適切なハンドラーを呼び出すかどうかをチェックするため、service() メソッドをオーバーライドする必要はありません。対応する do メソッドをオーバーライドするだけで完了です。
◆クライアントが HTML フォームを通じて HTTP POST リクエストを行うと、 doPost() メソッドが呼び出されます。 POST リクエストに関連付けられたパラメータは、別の HTTP リクエストとしてブラウザからサーバーに送信されます。サーバー側のデータを変更する必要がある場合は、doPost() メソッドを使用する必要があります。
◆クライアントが HTML フォームを通じて HTTP GET リクエストを発行するか、URL を直接リクエストすると、 doGet() メソッドが呼び出されます。 GET リクエストに関連するパラメータは URL の末尾に追加され、このリクエストとともに送信されます。 doGet() メソッドは、サーバー側のデータが変更されない場合に使用する必要があります。
サーブレットの応答には次のタイプがあります。
◆出力ストリーム。ブラウザはコンテンツ タイプ (テキスト/HTML など) に従って解釈します。
◆HTTP エラー応答。別の URL、サーブレット、JSP にリダイレクトされます。
(3)サーブレット API の Destroy() メソッド
destroy() メソッドは 1 回だけ実行されます。つまり、サーバーが停止し、サーブレットがアンインストールされるときに実行されます。通常、サーブレットはサーバー プロセスの一部としてシャットダウンされます。通常はデフォルトの destroy() メソッドで十分ですが、通常はサーバー側のリソースを管理するためにオーバーライドできます。たとえば、サーブレットが実行中に統計を蓄積する場合、サーブレットがロードされていないときに統計をファイルに保存する destroy() メソッドを作成できます。別の例は、データベース接続を閉じることです。
サーバーがサーブレットをアンインストールすると、すべての service() メソッド呼び出しが完了した後、または指定された時間が経過した後に destroy() メソッドが呼び出されます。サーブレットは、service() メソッドの実行時に他のスレッドを生成する場合があるため、destroy() メソッドの呼び出し時にこれらのスレッドが終了または完了していることを確認してください。
(4)サーブレット API の GetServletConfig() メソッド
GetServletConfig() メソッドは、初期化パラメータと ServletContext を返すために使用される ServletConfig オブジェクトを返します。 ServletContext インターフェースは、サーブレットに関する環境情報を提供します。
(5)サーブレット API の GetServletInfo() メソッド
GetServletInfo() メソッドは、作成者、バージョン、著作権など、サーブレットに関する情報を提供するオプションのメソッドです。
サーバーが sevlet の Service()、doGet()、doPost() の 3 つのメソッドを呼び出す場合、「リクエスト」オブジェクトと「レスポンス」オブジェクトがパラメータとして必要です。 「リクエスト」オブジェクトはリクエストに関する情報を提供し、「レスポンス」オブジェクトはブラウザに応答情報を返すための通信パスを提供します。 javax.Servlet パッケージの関連クラスは ServletResponse と ServletRequest であり、javax.Servlet.http パッケージの関連クラスは HttpServletRequest と HttpServletResponse です。サーブレットは、これらのオブジェクトを通じてサーバーと通信し、最終的にはクライアントと通信します。サーブレットは、「リクエスト」オブジェクトのメソッドを呼び出すことで、クライアント環境、サーバー環境情報、およびクライアントから提供されるすべての情報を学習できます。サーブレットは、Response オブジェクトのメソッドを呼び出して、クライアントに送り返す準備ができている応答を送信できます。

以上がサーブレット API とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの平方根 Javaの平方根 Aug 30, 2024 pm 04:26 PM

Java の平方根のガイド。ここでは、Java で平方根がどのように機能するかを、例とそのコード実装をそれぞれ示して説明します。

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Java における完全数のガイド。ここでは、定義、Java で完全数を確認する方法、コード実装の例について説明します。

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Java のスミス番号のガイド。ここでは定義、Java でスミス番号を確認する方法について説明します。コード実装の例。

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプ Java での日付までのタイムスタンプ Aug 30, 2024 pm 04:28 PM

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。

See all articles