Javaのサーブレットプログラム:初心者向けのサーブレットチュートリアル[2022]
公開: 2021-01-02目次
Javaサーブレット
これは、Javaプログラミング言語クラスです。 Javaのサーブレットプログラムは、Java対応のWebアプリケーションまたはサーバーで実行され、Webサーバーから受信した要求を処理し、要求に対する応答を処理および生成してから、応答をWebサーバーに送り返すために使用されます。
これらのサーブレットはサーバー側で動作します。 これは、サーバー機能をホストアプリケーションに拡張して、プログラミングで要求/応答モデルをホストするために使用されます。 あらゆるタイプのリクエストを処理でき、複雑なリクエストを効率的に処理できます。
読む: Javaインタビューの質問と回答
Javaを使用して使用されるサーブレットプログラムは、プラットフォームに依存しません。 受信したクライアント要求のタイプに応じてプロセスを作成します。 JVM( Java仮想マシン)で実行されます。 JavaサーブレットプログラムはJavaバイトコードに準拠しています。 Javaサーブレットは攻撃に抵抗することができます。 その他の利点には、より高速な速度、移植性、および効率が含まれます。
スクリプトを処理する前に、スクリプトを変換およびコンパイルします。 Javaサーブレットはデータ共有を可能にします。 Webサーバーと直接通信し、Cookieを処理できます。 CGI( Common Gateway Interface )などの他の方法よりも安価です。
Javaサーブレットアーキテクチャ
Javaサーブレットアーキテクチャには、通信インターフェイス、クライアントとサーバーの要件、使用されるプロトコル、および関連するプログラミング言語とソフトウェアが含まれています。

Javaサーブレットは、HTML(ハイパーテキストマークアップ言語)、カスタムHTTP(ハイパーテキスト転送プロトコル)プログラム、アプレット、暗黙的なHTTP要求データなど、任意の形式の受信データをクライアントブラウザから読み取ります。 次に、既存のデータベースと通信して受信データを処理し、結果を生成する前に他の手順を実行します。
この結果(データまたはドキュメント)は、テキスト(HTMLまたはXML(Extensible Markup Language))、画像(バイナリ)などのさまざまな形式でクライアントに送信されます。 最後に、暗黙のHTTP応答をクライアントに送信して、返されるドキュメントのタイプをクライアントに通知します。
Javaサーブレットのライフサイクルの段階
Javaサーブレットには、サーブレットのロード、サーブレットの初期化、リクエストの処理、サーブレットの破棄を含む4つのステージのライフサイクルがあります。 サーブレットコンテナは、Webサーバーの起動時に、受信したすべてのサーブレットをデプロイしてロードします。
int()のメソッドを呼び出してサーブレットを初期化します。 サーブレットインスタンスのインスタンス化の成功とそのサービスの表示は、 Servlet.init()メソッドを呼び出すことによって示されます。 クライアントの要求は、 service()メソッドを使用してサーブレットによって処理されます。 このメソッドを使用して、クライアント要求がサーブレットに通知されます。
最後に、この作成されたサーブレットは、サーブレットインスタンスの終了のシグナルとしてdestroy()を呼び出すことによって終了します。 int()メソッドとdestroy()メソッドは、Javaサーブレットの存続期間中に1回呼び出されます。 最後に、JVMガベージコレクタはサーブレットガベージを収集し、サーブレットのライフサイクルを終了します。
また読む: Javaアーキテクチャとコンポーネントの説明
Javaサーブレットの実行手順
サーブレットは、以下に示すように、6つの基本的な手順を使用して実行されます。
- クライアントはリクエストをWebアプリケーション/サーバーに送信します。
- Webアプリケーション/サーバーがリクエストを受信します。
- Webアプリケーション/サーバーは、リクエストを適切なサーブレットに送信します。
- サーブレットは、そのライフサイクルを通じて要求を処理し、出力として応答を生成します。
- サーブレットは応答をWebアプリケーション/サーバーに送り返します。
- 最後に、Webアプリケーション/サーバーがこの要求をクライアントに送り返し、クライアントのブラウザーがそれをWebページに表示します。
世界のトップ大学からのオンラインソフトウェア開発コースに登録します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
Javaサーブレットのクラスとインターフェース
Javaサーブレットは動的なWebページを作成できますが、この機能はコンテナまたはWebサーバーによってWebページに提供されます。 独立したWebサーバープロバイダーは、この要件を満たすためにAPI(Application Programming Interface)などの独自のソリューションを提供しています。

これらのAPIを使用すると、Webサーバーでプログラムを構築して実行できます。 Javaサーブレットは、Javaで作成された動的Webアプリケーションの標準を設定するコンポーネントAPIの1つであるJava PlatformEnterpriseEditionです。
JavaサーブレットAPIには、以下に示すように、すべての重要なインターフェースとクラスをカプセル化するための2つの重要なパッケージがあります。

- javax.servlet(基本)
- Javax.servlet.http(詳細)
以下の表には、Javaサーブレットのいくつかの重要なクラスとインターフェースが含まれています。
サーブレット | タイプ | パッケージ | サーブレットのライフサイクルメソッドの宣言 |
ServletConfig | インターフェース | javax.servlet | 初期化メソッドのサーブレットを許可します |
ServletContext | クラス | javax.servlet | サーブレットがアクセスとアクセス情報をログに記録できるようにします |
ServletRequest | インターフェース | javax.servlet | クライアントリクエストからデータを読み取るために使用されます |
ServletResponse | インターフェース | javax.servlet | クライアントの応答にデータを書き込むために使用されます |
GenericServlet | クラス | javax.servlet | サーブレットおよびサーブレット.configインターフェースを実装します |
ServletInputStream | クラス | javax.servlet | クライアントから受信した要求を読み取るための入力ストリームを提供します |
ServletOutputStream | クラス | javax.servlet | クライアントに応答を書き込むための出力ストリームを提供します |
ServletException | クラス | javax.servlet | サーブレットが使用できないことの表示 |
HttpServlet | インターフェース | javax.servlet.http | HTTP要求と応答を処理するためのメソッド |
サーブレットコンテナ
これは、Javaサーブレットコンポーネントにランタイム環境を提供するオブジェクトの統合セットです。 ネットワーク、MIME( Multipurpose Internet Mail Extensions )ベースのメッセージのデコードとエンコード、サーブレットコンテナ管理、リソースとセッションの管理、セキュリティサービスなどのサービスを提供します。
必読:興味深いJavaプロジェクトとトピック
結論
したがって、Javaサーブレットを使用して、動的なWebページを実現し、Webサーバーでクライアント要求を処理する際の速度と柔軟性を向上させます。
Java、OOP、フルスタックソフトウェア開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニングを提供します。 9以上のプロジェクトと割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。
Javaとは何ですか?
プログラミング言語としてのJavaは、本質的に同時で、クラスベースで、オブジェクト指向の汎用コンピュータープログラミング言語です。 Java言語の開発の目標は、実装の制約を可能な限り最小限に抑えることです。 Write Once、Run Anywhere(WORA)の概念は、Javaプログラミング言語を管理します。つまり、コードがビルドされると、書き直さなくても、Java互換プラットフォームでそのコードを実行できるようになります。 Javaは、Web開発、エンタープライズクラスのアプリケーション、Android開発、およびモノのインターネット(IoT)に使用される静的に型付けされたプログラミング言語です。
一般的なゲートウェイインターフェイスに対するJavaサーブレットの利点は何ですか?
Common Gateway Interfaceと比較すると、Javaサーブレットには大きな利点(CGI)があります。 CGIに対するサーブレットの最初の最も重要な利点は、サーブレットのパフォーマンスがCGIよりもはるかに優れていることです。 CGIとは異なり、クライアント要求ごとに個別のプロセスを構築する必要はありません。 サーブレットは、Webサーバーのアドレス空間内でのみ実行されます。 サーブレットはJavaで作成されるため、独立したプラットフォームです。 サーバー上のJavaセキュリティー・マネージャーは、サーバーのリソースを保護するために一連の制約を課します。 その結果、サーブレットが信頼される可能性があります。 サーブレットはJavaクラスライブラリの全機能にアクセスできますが、CGIはライブラリ全体にアクセスできません。
サーブレットの実際のユースケースは何ですか?
サーブレットは主にHTMLとHTTPで使用されます。 これらは、ブラウザによって明示的に送信されたデータを読み取るために使用されます。 これは、Webページ、アプリケーション、または特注のHTTPクライアントソフトウェア上のHTMLフォームの形式である可能性があります。 また、ブラウザの暗黙的なHTTPリクエストデータにアクセスすることもできます。 これには、特にブラウザでサポートされているCookie、メディアの種類、圧縮アルゴリズムが含まれています。 彼らはデータを処理し、調査結果を考え出す人たちです。 この手順では、データベースとの通信、RMIまたはCORBA呼び出しの実行、Webサービスへの接続、または応答の直接計算がすべて必要になる場合があります。 また、ドキュメントなどの明示的なデータをブラウザに配信するためにも使用されます。 このドキュメントは、テキスト、バイナリ、画像、Excelなど、いくつかの異なる形式で配信される場合があります。