JSP 面接の質問トップ 50 (2024)

ここでは、夢の仕事に就くための、新人および経験豊富な候補者向けの JSP 面接の質問と回答を紹介します。

1) JSP について説明し、その用途を説明します。

JSP は Java Server Pages の略です。 プラットフォームに依存しないプレゼンテーション層テクノロジーです。 SUN の J2EE プラットフォームが付属しています。 これらは HTML ページに似ていますが、Java コード部分が埋め込まれています。 これらは .jsp 拡張子を付けて保存されます。 これらはバックグラウンドで JSP コンパイラーを使用してコンパイルされ、ページからサーブレットを生成します。

👉 無料 PDF ダウンロード: JSP インタビューの質問と回答


2) タグライブラリの要件は何ですか?

カスタム タグのコレクションはタグ ライブラリと呼ばれます。 繰り返し発生するタスクがより簡単に処理され、複数のアプリケーション間で再利用されるため、生産性が向上します。 これらは、データベースや他のサービスへのアクセスではなく、プレゼンテーションに重点を置く Web アプリケーション設計者によって使用されます。 よく使用されるライブラリには、文字列タグ ライブラリと Apache 表示タグ ライブラリがあります。


3) JSP テクノロジーについて説明します。

JSP は Java の標準拡張機能であり、サーブレット拡張機能の上に定義されます。 その目標は、動的な Web ページの管理と作成を簡素化することです。 これはプラットフォームに依存せず、安全であり、サーバー側のスクリプト言語として Java を利用します。


4) JSP における Implicit オブジェクトについて説明します。

Web コンテナによって作成され、特定のリクエスト、アプリケーション、またはページに関する情報が含まれるオブジェクトは、と呼ばれます。 暗黙的なオブジェクト。 彼らです :

  • 応答
  • 例外
  • 要求
  • セッション
  • ページ
  • でる
  • 設定
  • ページコンテキスト
JSP 面接の質問
JSP 面接の質問

5) 更新ボタンのクリックによる複数の送信を防ぐにはどうすればよいですか?

Post/Redirect/Get または PRG パターンを使用すると、この問題を解決できます。

1) ユーザーが入力したフォームは、POST または GET メソッドを使用してサーバーに送信されます。 データベース内の状態とビジネス モデルが更新されます。

2) リダイレクト応答は、ビュー ページに対するサーブレットによる応答に使用されます。

3) ビューは GET コマンドを使用してブラウザによってロードされますが、ユーザー データは送信されません。 これは別個の JSP ページであるため、複数の送信に対して安全です。


6) JSP テクノロジーは拡張可能ですか?

はい、JSP は、タグ ライブラリにカプセル化されたタグまたはカスタム アクションを使用および変更することで簡単に拡張できます。


7)response.sendRedirect(url)とresponse.sendRedirect(url)を区別します。 。

<jsp.forward> 要素は、リクエスト オブジェクトを 1 つの JSP ファイルから別の JSP ファイルに転送します。 ターゲット ファイルは HTML、サーブレット、または別の JSP ファイルにすることができますが、転送する JSP ファイルと同じアプリケーション コンテキスト内にある必要があります。

sendRedirect HTTP 一時リダイレクト応答をブラウザに送信します。 次に、ブラウザはリダイレクトされたページに対する新しいリクエストを作成します。 セッション変数を強制終了します。


8) リクエスト属性がすでに JSP で送信されている場合、その人のサーブレット コードを使用して後続のリクエストにアクセスできますか?

リクエストはスコープ外になるため、アクセスできません。 ただし、リクエスト属性がサーブレットに設定されている場合は、そのサーブレットに JSP からアクセスできます。

JSP はサーバー側コンポーネントであり、ページは Java サーブレットに変換されて実行されます。 HTML コードのみが出力として提供されます。


9) JSP ページに静的ファイルを含めるにはどうすればよいですか?

静的ページは、JSP include ディレクティブを使用して常にインクルードされます。 このようにして、インクルードは変換フェーズで XNUMX 回実行されます。 ファイル属性には相対 URL を指定する必要があることに注意してください。 静的リソースを含めることもできますが、各リクエストに含める必要があるため、これは推奨されません。


10) JComponent には add() メソッドと Remove() メソッドがあるのに、Component にはそれがないのはなぜですか?

JComponent は Container のサブクラスです。 他のコンポーネントと JComponent が含まれています。


経験豊富なプロフェッショナル向けの JSP 面接の質問

以下は、経験豊富な候補者向けの JSP 面接の質問と回答です。

11) スレッドセーフな JSP ページはどのように実装できますか?

これは、SingleThreadModel インターフェイスで実装することで実現できます。 JSP ページに <%@page isThreadSafe=”false” %> ディレクティブを追加します。


12) JSP またはサーブレット ページの出力がブラウザによってキャッシュされないようにするにはどうすればよいですか?

適切な HTTP ヘッダー属性を使用して、JSP ページによって出力された動的コンテンツがブラウザーによってキャッシュされないようにします。


13) JSP ページでのページ エラーの表示を制限するにはどうすればよいですか?

PAGE ディレクトリの「ErrorPage」属性を JSP ページ内のエラー ページの名前に設定し、エラー JSP ページに「isErrorpage=”TRUE」を設定することで、エラーが表示されないようにすることができます。


14) JSP アクションとは何ですか?

これらは XML タグであり、既存のコンポーネントを使用するか、JSP エンジンの動作を制御するようにサーバーに指示します。 これらは、一般的なプレフィックス「jsp:」とアクション名で構成されます。

<jsp:include/>
<jsp:getProperty/>	 	
<jsp:forward/>
<jsp:setProperty/>
<jsp:usebean/>
<jsp:plugin/>

15) 区別するおよび <%@include file=…>。

これらのタグにはどちらも、あるページから別のページへの情報が含まれています。

最初のタグは、XNUMX つの Jsp 間の関数呼び出しとして機能します。 これは、クライアントがクライアント ページにアクセスするたびに実行されます。 Web アプリケーションをモジュール化すると便利です。 新しいコンテンツが出力に含まれます。

ファイルの XNUMX 番目のタグの内容は、同様のディレクティブを含むテキストで埋め込まれています。 変更された内容は出力には含まれません。 これは、XNUMX つの JSP のコードが複数の JSP で必要な場合に役立ちます。


16) サーブレットを初期化するために、init() の代わりにコンストラクターを使用できますか?

はい、可能です。 ただし、以前の Java バージョンでは引数を使用してコンストラクターを動的に呼び出すことができなかったため、init() が開発されたため、これは推奨されません。 そのため、servletConfig を割り当てることができませんでした。 ただし、今日でもサーブレット コンテナは引数なしのコンストラクターのみを呼び出します。 したがって、servletContext または servletConfig にはアクセスできません。


17) ライフサイクルメソッドを説明します。

1) jsplnit(): コンテナはこれを呼び出してサーブレット インスタンスを初期化します。 これはサーブレット インスタンスに対して XNUMX 回だけ呼び出され、他のメソッドよりも先に呼び出されます。

2) _jspService(): コンテナはリクエストごとにこれを呼び出し、オブジェクトに渡します。

3) jspDestroy(): インスタンスが破棄される直前にコンテナによって呼び出されます。


18) JSP 出力コメントについて説明しますか?

HTML ソース ファイル内で表示できるコメントです。


19) 式の定義

Expression タグは、Java 値を出力に直接挿入するために使用されます。 その構文は次のとおりです

<%=expression%>

これには、評価されて文字列に変換され、JSP ファイル内の式が存在する場所に挿入されるスクリプト言語式が含まれています。


20) 構成を定義します。

構成は、集約よりもオブジェクトとの関係が強いです。


21) JSP スクリプトレットを定義します。

これは、JSP ページ内の Java コードを囲む JSP タグです。 それらの構文は <% %> です。 スクリプトレットに記述されたコードは、プログラムが実行されるたびに実行されます。


22) ある JSP からの情報を別の JSP に渡すにはどうすればよいですか?

タグ複数の Jsp 間で情報を受け渡すことができます。


23) の用途を説明する鬼ごっこ。

<jsp:useBean>

id="beanInstName"

scope= "page | application"

class="ABC.class"  type="ABC.class"

</jsp:useBean>

このタグは Java Bean のインスタンスを作成します。まず、Bean インスタンスがすでに存在するかどうかを検索し、変数に参照を割り当てます。タイプも指定されます。他のwise 指定されたクラスからインスタンスを作成し、新しい変数に参照を格納します。


24) 実行時例外の処理について説明します。

Errorpage 属性は、エラー処理ページに自動的に転送された実行時例外をキャッチしないようにするために使用されます。

リクエストの処理中にキャッチされなかった例外が発生した場合、ブラウザを JSP ページ error.jsp にリダイレクトします。 エラー処理ページです。


25) _jspService() は「_」で始まるのに、他のライフサイクル メソッドは「_」で始まらないのはなぜですか?

JSP ページで作成されたコンテンツはすべて、コンテナーによって _jspService() メソッド内に組み込まれます。 オーバーライドした場合、コンパイラーはエラーを返しますが、他の 2 つのライフサイクルは簡単にオーバーライドできます。 したがって、「_」は、このメソッドをオーバーライドできないことを示します。


26) のさまざまなスコープ値について説明します。 鬼ごっこ。

タグは、JSP ページで Java オブジェクトを使用するために使用されます。 いくつかのスコープ値は次のとおりです。

1)アプリケーション

2)リクエスト

3) ページ

4)セッション


27) JSP内の2種類のコメントを表示します。

2 種類は次のとおりです。

<%–JSP Comment–%>
<!–HTML comment–>

28) 静的メソッドをオーバーライドできますか?

サブクラスで同じシグネチャを持つ静的メソッドを宣言できますが、実行時のポリモーフィズムがないため、オーバーライドとはみなされません。 したがって、答えは「いいえ」です。


29) JSP ディレクティブについて説明します。

JSPディレクティブ は、JSP エンジンへのメッセージです。 これらはページからコンテナへのメッセージとして機能し、ページ全体の処理を制御します。 クラス宣言のようにグローバル値を設定できます。 これらは出力を生成せず、<%@….%> で囲まれます。


30) pge ディレクティブについて説明します。

ページ ディレクティブは、ページが環境から受け取るヘッダーと機能について JSP エンジンに通知します。 これはすべての JSP ページの先頭にあります。 その構文は次のとおりです <%@ page attribute=”value”>


31) ページディレクティブの属性を表示します。

  1. セッション: セッション データがページで利用可能かどうかを示します。
  2. インポート: インポートされたパッケージが表示されます。
  3. 無視される: JSP が次の形式に変換されるときに EL 式が無視されるかどうかを示します。 サーブレット.
  4. コンテンツタイプ: これにより、ユーザーはページのコンテンツ タイプを指定できます。

32) Include ディレクティブとは何ですか?

include ディレクティブは、リソースの内容を現在の JSP に静的に挿入します。 コードを重複せずに再利用するのに役立ちます。 翻訳時のファイルの内容も含まれます。 その構文は次のとおりです <%@ include file=”Filename”%>.


33) JSP の標準アクションとは何ですか?

これらは、ページおよびクライアントに送信される応答の全体的な実行時の動作に影響します。 これらは、リクエスト時にファイルを含めたり、JavaBean をインスタンス化したり、JavaBean を検索したりするために使用されます。 これらは、ブラウザー固有のコードを生成したり、新しいページにリクエストを転送したりするためにも使用されます。


34) jsp:setProperty アクションについて説明します。

事前に参照したBeanのプロパティに値を与えるために使用されます。


<jsp:setProperty name=”ABC” property=”myProperty”…

jsp:setproperty は、新しい Bean がインスタンス化された場合、または既存の Bean が見つかった場合でも実行されます。

追加することでコードの最後で、実行条件が逆転します。つまり、既存のオブジェクトが見つかった場合は実行されず、新しいオブジェクトがインスタンス化された場合にのみ実行されます。


35) 静的ブロックを定義します。

静的データメンバーを開始するために使用されます。 クラスロードの前に実行されます。


36) jsp:plugin のアクションを説明します。

このアクションは、ブラウザに特定のオブジェクトを挿入したり、Java プラグインを使用してアプレットの実行を指定するために必要な要素を埋め込んだりするのに役立ちます。


37) クライアント側とサーバー側の検証について説明します。

Javascriptを クライアント側の検証に使用されます。 それはブラウザ内で行われます。 検証が成功した場合は、JavaScript を使用してフォーム データを送信します。 検証エラーが発生してもフォームを送信できないため、追加のネットワーク トリップは必要ありません。

検証は送信後にサーバーでも実行されます。 検証が失敗した場合、フォームをクライアントに再送信するために追加のネットワーク トリップが必要になります。


38) 翻訳フェーズとは何ですか?

JSP エンジンは、JSP ファイルをサーブレットに変換してコンパイルします。 このサーブレットは、リクエストとレスポンスが処理される実行フェーズに移行します。 事前に手動でコンパイルしない限り、初めてアクセスしたときにコンパイルされます。 手動または明示的なコンパイルは、長く複雑なプログラムに役立ちます。


39) JSP ページからブラウザ リダイレクトを実行します。

<% response.sendRedirect(URL); %>

または、次のように HTTP ヘッダー属性の場所を変更できます。

<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader(URL); %>

40) オブジェクトの複製の使用法を教えてください。

オブジェクトのクローン作成は、同じコードを入力するか、その他のさまざまな手法を使用して、オブジェクトの正確なコピーを作成するために使用されます。


41) リクエストを別のソースに転送する方法。

<jsp:forward page="/Page2.jsp" />

42) JSP ページでセッションの自動作成を防ぐにはどうすればよいですか?

JSP ページはリクエストのセッションを自動的に作成します。 次のように入力すると、wing、それは回避できます。

<%@ page session=”false”  %>

43) JSP でスクリプトレット コードを回避するにはどうすればよいですか?

スクリプトレット コードの代わりに JavaBeans またはカスタム タグを使用できます。


44) jspDestroy() メソッドについて説明します。

JSP ページが破棄される直前に、コンテナは javax.servlet.jsp.JspPage インターフェースから jspDestroy() メソッドを呼び出します。 サーブレットの破棄メソッドも同様です。 データベース接続を閉じるときなど、クリーンアップを実行するために簡単にオーバーライドできます。


45) 説明してくださいアクション。

これは、標準アクションを含めるまたは転送するとともに使用されるアクションです。 これは、パラメーターの名前と値をリソースに渡すのに役立ちます。


46) 静的メソッドについて説明します。

静的メソッドはクラスのものであり、クラスのオブジェクトではありません。 クラスのインスタンスがなくても呼び出すことができます。 静的メンバーは静的データにアクセスしてその値を変更することもできます。


47) スクリプトを無効にするにはどうすればよいですか?

デプロイメント記述子の scripting-invalid 要素を true に設定することで、スクリプトを簡単に無効にすることができます。 これはプロパティ グループのサブ要素です。 それは偽りである可能性もあります。


48) JSP 宣言を定義します。

JSP 宣言は、変数の宣言に使用されるタグです。 これらは <%!%> タグで囲まれます。 これらは関数や変数の宣言に使用されます。

<%@page contentType=”text/html” %>

<html>
<body>
<%!
	int a=0;
	private int getCount(){
	a++;
return a;
}%>
<p>Values of a are:</p>
<p><%=getCount()%></p>
</body>
</html>

49) HTML 出力がキャッシュされるのを防ぐにはどうすればよいですか?

<%
response.setHeader("Cache-Control", "no=store");
response.setDateHeader("Expires", 0);
%>

50) JSP はサーブレット テクノロジよりどのように優れていますか?

JSP は、コンテンツの生成を簡単にするサーバー側のテクノロジーです。 サーブレットはプログラムであるのに対し、サーブレットはドキュメント中心です。 Java サーバー ページには、次のフラグメントを含めることができます。 Javaプログラム、Java クラスを実行してインスタンス化します。 ただし、これらは HTML テンプレート ファイル内で発生します。 Web アプリケーション開発のためのフレームワークを提供します。

これらの面接の質問は、あなたの活力(口頭)にも役立ちます