30 top servlet interview questions
面接の準備に役立つ、サーブレットの面接に関する最もよくある質問と回答:
この一連のサーブレットの質問は、サーブレットのインタビューをガイドします。
サーブレットとは何か、サーブレットが登場した理由、サーブレットとそのメソッドのライフサイクル、起動時のロード、WARファイル、デプロイメント記述子とその機能、ウェルカムファイルとその重要性に関するすべてが含まれています。
また、サーブレットの動作、サーブレットコラボレーション、サーブレット構成、サーブレットコンテキスト、セッショントラッキングとテクニックと利点、イベント、フィルター、その動作原理、およびその重要性についても学習します。
インタビュアーは常に、インタビューで役立つことが判明した回答のリアルタイムの例を期待しています。したがって、これらすべての質問を徹底的に調べ、それを自分の言葉で説明することができれば、面接を受けることができます。
サーブレットインタビューの最高の質問
この記事で取り上げた重要な質問のいくつかの簡単なリストを次に示します。
- サーブレットとは何ですか?
- サーブレットの種類
- サーブレットのライフサイクル
- サーブレットのライフサイクルメソッド
- サーブレットはどのように機能しますか?
- WARファイルとその使用?
- 起動時の負荷とその重要性は何ですか?
- デプロイメント記述子とは何ですか?
- サーブレットコラボレーション手順
- RequestDispatcherとは何ですか?
- SendRedirectメソッドとその使用法とは何ですか?
- サーブレット構成とサーブレットコンテキストについて
- セッション追跡とその手法について
- クッキー、隠しフォームフィールド、URLなど
- イベントについて
- フィルタとは何ですか?フィルタの種類は何ですか?
詳細な回答から始めましょう。
Q#1)サーブレットとはどういう意味ですか?
回答: サーブレットは、Webアプリケーションの作成に使用される強力なメカニズムです。
これはサーバー側で使用され、動的なWebページの生成に役立ちます。基本的に、ブラウザーからの着信HTTP要求とデータベースの間の仲介役として機能します。
サーブレットはJava言語に基づいているため、堅牢でサーバー側プログラミング言語と呼ばれます。
上の図はサーブレットの流れを説明しています。
リクエストはWebページからサーブレットに送信され、サーブレットはリクエストを適切なJSPページにリダイレクトし、JSPページはユーザーに表示される結果ページとしてレスポンスを送信します。
推奨読書= >> JSPインタビューの質問
Q#2)CGIとは何ですか?その欠点は何ですか?
回答: CGIは、Common Gateway Interfaceの略で、サーバー側で記述されたコードのセットであり、Webサーバーを介してWebサーバー上で実行されているクライアントと対話するために使用されます。
着信要求を受け取り、新しい要求ごとに新しいプロセスを開始します。
Common Gateway Interfaceの欠点:
- 着信リクエストごとに新しいプロセスが作成されるため、着信リクエストの数が多いと、生成される応答が非常に遅くなり、効率が低下します。
- CGIはプラットフォームに依存します。
Q#3)CGIに対するサーブレットの利点は何ですか?
ps4用の最高のバーチャルリアリティヘッドセット
回答:サーブレットの利点は次のとおりです。
- サーブレットは、処理ではなく着信要求ごとにスレッドを作成するため、高速です。
- サーブレットは、Javaプログラミング言語に基づいているため、プラットフォームに依存しません。
- Javaをベースにしているため、堅牢で安全です。
Q#4)サーブレットはコードにどのように実装されていますか?
回答: サーブレットは、Httpservletまたは汎用サーブレットクラスを拡張するだけでコードに実装できます。
Q#5)HttpサーブレットとGenericサーブレットの違いは何ですか?
回答: Generic Servletは、すべてのタイプの要求を処理できます。 service()メソッドがあるため、独立していますが、Httpサーブレットは汎用サーブレットを拡張し、doGet()、doPost()、doHead()、doTrace()などのHTTPメソッドをサポートします。
Q#6)サーブレットのライフサイクルメソッドは何ですか?
回答: サーブレットには基本的に3つのライフサイクルメソッドがあります。
これらは:
- 初期化 ()
- サービス()
- 破壊 ()
Q#7)サーブレットのライフサイクルについて説明してください。
回答: サーブレットのライフサイクルは、以下の図を参照して説明されています。
- 最初に、クライアントから受信した要求に従ってサーブレットクラスがロードされます。
- 次に、サーブレットの新しいインスタンスまたはオブジェクトが作成されます。ライフサイクルごとに、1つのオブジェクトのみが作成されます。
- 次に、サーブレットの初期化に使用されるInit()メソッドが呼び出されます。
構文: public void Init()
- Service()メソッドは、操作を実行するための新しい要求を受信するたびに呼び出されます。
構文: パブリックボイドサービス()
- 次に、destroyメソッドが呼び出され、クリーンアップ操作が実行されます。
構文: 破壊 ()
サーブレットフロー図
Q#8)Webコンテナとは何ですか?その責任は何ですか?
回答: Webコンテナはサーブレットコンテナとも呼ばれ、サーブレットとのやり取りに使用され、サーブレット、JSP、XMLファイルがすべて含まれています。 Webコンテナは、サーブレットのライフサイクルを管理し、URLを特定のサーブレットにマップするのに役立ちます。 Webコンテナはサーブレットのオブジェクトを作成します。
Q#9)Get()メソッドはPost()メソッドとどう違うのですか?
回答: Get()メソッドがPost()メソッドよりも優先される理由を以下に示します。
Get()メソッド:
- ここでは、データがヘッダーを介して送信されるときに、特定の量のデータまたは情報を送信できます。
- Get()メソッドでは、データはURLバーでユーザーに公開されるため、保護されません。
- Get()メソッドはブックマークできます。
- 一般に、get()メソッドはpost()メソッドよりも効果的で使用されます。
Post()メソッド:
- ここでは、データが本体を介して送信されるときに、大量のデータまたは情報を転送できます。
- Post()メソッドのデータは本文を介して送信されるため、保護されます。
- Post()メソッドはブックマークできません。
- 一般に、Post()メソッドは効果が低く、あまり使用されません。
Q#10)サーブレットのループまたはチェーンとは何ですか?
回答: サーブレットループは、あるサーブレットの出力が別のサーブレットへの入力として与えられ、最後のサーブレット出力がクライアントに提供される実際の出力と見なされるプロセスです。
このプロセスは、リクエストディスパッチャインターフェイスを介して実行されます。
Q#11)2つまたは3つのサーブレットはどのように相互作用または通信しますか?
回答: サーブレットが相互に通信できるプロセスは2つあります。
- ディスパッチャインターフェイスの要求
- サーブレットチェーン
Q#12)リクエストディスパッチャとそのメソッドについて説明してください。
回答: Request Dispatcherは、ブラウザまたはクライアントからのリクエストの受信を担当するオブジェクトを作成し、サーバー側にあるサーブレット、JSP、HTMLなどのリソースにそれらをナビゲートします。
Request Dispatcherには、基本的に2つの方法があります。
a)Forward()メソッド:
- Forward()メソッドでは、クライアントはリクエストをServlet1に送信します。
- Servlet1はリクエストを処理してから、リクエストをServlet2に転送します。
- servlet2は要求を処理し、応答を生成します。応答は、最終応答としてクライアントに返送されます。
b)インクルード()メソッド:
- Include()メソッドでは、クライアントはリクエストをServlet1に送信します。
- Servlet1はリクエストを処理してからリクエストを含め、リクエストをServlet2に送信します。
- サーブレット2はリクエストを処理し、再度サーブレット1に送り返します。
- Servlet1は応答を生成し、それが最終応答としてクライアントに返送されます。
Q#13)Send Redirect()メソッドの用途は何ですか?
回答: クライアント側で機能するSendRedirect()メソッドは、サーブレット、JSP、HTMLなどの別のリソースに応答をリダイレクトするために使用されます。
構文: void send Redirect(URL);
例: response.sendredirect(“ http://www.google.com”);
Q#14)Forward()メソッドはSend Redirect()メソッドとどのように異なりますか?
回答:
Forward()メソッド:
- これは、まったく同じリクエストを別のリソースに送信するために使用されます。
- サーバー内のサーバー側で機能します。
Send Redirect()メソッド:
- URLを使用するため、常に新しいリクエストをリソースに送信します。
- これは、サーバーの外部と内部の両方でクライアント側で機能します。
Q#15)WARファイルについて説明してください。
回答: WARファイルは基本的にWebアーカイブファイルと呼ばれ、XML、サーブレット、JSP、HTML、構成ファイルなどのアプリケーションのすべてのファイルが1つのファイルに結合されているため、アプリケーションのデプロイは簡単です。
デプロイメントにはWARファイルを使用することをお勧めします。
Q#16)サーブレットコンテキストとはどういう意味ですか?
回答: サーブレットコンテキストは、基本的に、アプリケーションとWebコンテナに関する情報を持つオブジェクトと呼ばれます。サーブレットコンテキストを使用すると、イベントをログに記録し、特定のリソースのURLを取得し、他のサーブレットが使用する属性を簡単に保存できます。
サーブレットの主な利点は、保守が容易であり、コンテナとサーブレットの間の仲介役として機能することです。
以下に示すサーブレットコンテキストのいくつかの重要なメソッドがあります。
アルファテストとベータテストの違い
- getInitParameter() –パラメーターの値を返します。
- getInitParameterNames() –パラメータの名前を返します。
- void setAttribute() –属性の値を設定するために使用されます。
- void getAttribute() –属性の値を取得するために使用されます。
- void removeAttribute()– 属性を削除するために使用されます。
Q#17)サーブレットの機能は正確には何ですか?
回答:サーブレットによって実行される機能は次のとおりです。
- まず、サーブレットはクライアント側から送信されるHTTPリクエストを受信します。
- リクエストを読み取り、リクエストからデータを抽出します。
- 情報を抽出した後、サーブレットはデータベースにアクセスするか、EJBを呼び出すことによってビジネスロジック操作を実行します。
- 最後に、応答を生成してHTTPの形式でクライアントに送信するか、JSPページに応答を送信します。
Q#18)デプロイメント記述子とはどういう意味ですか?
回答: WEB.XMLは、サーブレットのデプロイメント記述子であると言われています。
これは、あらゆるアプリケーションのエントリポイントであり、ウェルカムファイルリストを備えています。リソース、使用されるサーブレットに関する情報を定義し、サーブレットをURLにマップします。
Q#19)セッショントラッキングとその重要性について説明してください。
回答: セッショントラッキングは、クライアントまたはユーザーのデータを維持できるプロセスです。
新しい要求がサーバーに来るたびに、サーバーは新しい要求が同じクライアントから来ていることを認識できません。この問題を回避するために、セッション追跡技術が使用されます。
セッショントラッキングは、クライアントまたは要求を認識するために重要な役割を果たします。
Q#20)さまざまなセッション追跡手法は何ですか?
回答:
以下に示すテクニックには、基本的に4つのタイプがあります。
a)クッキー: Cookieは、複数のクライアント要求に追加される小さな情報です。
例: 1つの要求がサーバーに送信され、サーバーは応答とともにいくつかのCookieを追加します。これで、同じクライアントがサーバーに要求を送信すると、サーバーはユーザーを認識します。
b)非表示フォームフィールド: ここでは、ユーザーの状態を維持するために非表示のテキストフィールドを使用します。
世界のトップ10の人材紹介会社
c)URLの書き換え: ここでは、マップする次のサーブレットへの追加のリンクを示します。
d)Httpセッション: ここでは、ユーザーごとに特定のIDが生成されるため、サーバーはユーザーを認識できます。
Q#21)サーブレットイベントとは何ですか?
回答: イベントは単なる出来事です。オブジェクトの状態を変更することもイベントです。
イベントクラスとインターフェイスは次のとおりです。
- クラス: ServletRequestEvent、ServletContextEvent、HttpSessionEventなど。
- インターフェイス: ServletRequestListner、ServletContextListner、HttpSessionListnerなど。
Q#22)フィルターとはどういう意味ですか?どのように機能しますか?
回答: フィルタは基本的に物事を除外するために使用されます。
同様に、サーブレットのフィルタは、リクエストの前処理とリクエストの後処理で導入されるオブジェクトです。その主な機能には、変換、値の暗号化と復号化、IPアドレスをキャプチャするデータの入力検証、およびすべての着信要求の保存が含まれます。
フィルタはweb.xmlで定義されており、web.xmlから削除できるため、サーブレットを変更する必要がなく、コストを削減できます。
サーブレットフィルタの動作図
Q#23)スタートアップの負荷とその重要性を説明してください。
回答: 起動時のロードは、web.xml(デプロイメント記述子)で定義された要素であり、サーバーの再起動中のデプロイメント時にサーブレットをロードするのに役立ちます。
起動時にロードを使用する理由は、最初に受信したリクエストでサーブレットがロードされるため、最初にロードに時間がかかり、起動時にローンを定義すると効率が低下するためです。 負荷 サーバーの再起動中のサーブレット。これにより効率が向上します。
起動時の負荷も2つの値で機能しています。
- 正(0,1,2,3…。): 最も低い正の値が最初にロードされます。
- 負: サーブレットは、最初の要求が受信されたときにロードされます。
Q#24)サーブレットは同期されていますか?
回答: いいえ、サーブレットは同期されていません。サーブレットを同期させたい場合は、SingleThreadInterfaceを実装する必要があります。
Q#25)スコープオブジェクトとはどういう意味ですか?そのタイプは何ですか?
回答: スコープオブジェクトは、setattribute()およびgetattribute()を介してWebコンポーネント間で情報を共有するのに役立ちます。
スコープオブジェクトのタイプは次のとおりです。
- Webコンテキスト
- セッション
- リクエスト
- ページ
Q#26)ローカリゼーションという用語は何を指しますか?
回答: ローカリゼーションとは、基本的に、ユーザーが従う地域の伝統または言語を指します。そのため、すべてのユーザーが理解できるように、ヒンディー語を追加するなど、特定のWebサイトにリソースや要素を追加します。
Q#27)サーブレットが複数のリクエストを受信した場合、サーブレットはいくつのオブジェクトを作成しますか?
回答: サーブレットは、受信する着信要求の数に関係なく、インスタンスを1つだけ作成します。
Q#28)サーブレットとアプレットの主な違いは何ですか?
回答: サーブレットとアプレットの主な違いは、サーブレットがサーバー側にあるのに対し、アプレットはWebブラウザのクライアント側にあることです。
Q#29)サーブレット内にコンストラクターを含めることは可能ですか?
回答: はい、サーブレット内でコンストラクターを定義することは可能ですが、サーブレットコンテナーによってのみ呼び出すことができ、明示的に呼び出すことはできません。
Q#30)サーブレットで動作するパッケージに名前を付けますか?
回答: 以下に示すように、サーブレットで動作する基本的に2つのパッケージがあります。
- Javax.servlet
- Javax.servlet.http
Q#31)HTTPリクエストの種類は何ですか?
回答: HTTPリクエストの種類は次のとおりです。
- 取得する
- 役職
- 頭
- オプション
- プット
- 痕跡
- 削除
Q#32)コンテキストパラメータとコンテキスト属性の主な違いは何ですか?
回答: 2つの主な違いは、
コンテキストパラメータは、デプロイメント記述子、つまりweb.xmlに格納されている値であり、デプロイメントプロセス中にロードされます。一方、コンテキスト属性は動的に設定され、アプリケーション全体で使用できる値です。
Q#33)サーブレットを連鎖させるためのプロセスは何ですか?
回答: サーブレットチェーンは非常に単純なプロセスであり、あるサーブレットの出力を別のサーブレットへの入力として提供します。
まず、チェーンする必要のあるリソースのRequestDispatcherを作成する必要があります。次に、必要に応じてリクエストの属性値を設定する必要があります。次に、RequestDispatcherオブジェクトでforward()メソッドまたはinclude()メソッドを呼び出す必要があります。
サーブレットが何であるかを明確に理解できたと思います。
皆様のご成功をお祈り申し上げます!!