top 35 frequently asked struts interview questions answers
Strutsのインタビューの質問と回答に関するこのチュートリアルでは、Strutsの概念を簡単な例で説明しています。
この一連のStrutsの質問では、Strutsフレームワーク、アプリケーションのフロー、Strutsの必要性、そのアクション、定数などの完全な概要と、Strutsで使用される入力について説明します。この記事では、Strutsのインタビューで尋ねられるすべての重要な質問について説明します。
Strtus2を使用してコードを作成するように求められることはありません。理論上のすべての質問にカーソルを合わせ、面接官は候補者がStrutsフレームワークのフローに関する基本的な知識を持っているかどうかを知りたいだけです。
これらすべての質問を徹底的に調べた後、小さなリアルタイムの例を使用して自分の言葉で概念を説明できれば、それで終わりです。
最もよくあるStrutsのインタビューの質問と回答
Q#1)Strutsフレームワークとは何ですか?そのコンポーネントは何ですか?
回答: Strutsは、Webアプリケーションの開発に適したプラットフォームを提供するWebアプリケーション開発フレームワークの一種です。 Strutsには、サーブレット、JSP、カスタムタグ、メッセージリソースが統合されたフレームワークに含まれています。
Q#2)なぜStrutsを使用するのですか?
回答: StrutsはMVCアーキテクチャ(モデル、ビュー、コントローラー)に基づいているため、ビジネスロジック、デザイン、コントローラーを分離し、その結果、コードがよりシンプルで、保守しやすく、読みやすくなります。
Q#3)Strutsアプリケーションの重要なクラスは何ですか?
回答:Strutsアプリケーションの最も重要なクラスを以下に示します。
- アクションサーブレット: これはコントローラークラスであり、すべての着信要求を処理します。
- アクションクラス: アクションクラスを使用すると、いわゆるモデルとも呼ばれるすべてのビジネスロジックが開発されます。
- アクションフォーム :アクションフォームは、1つ以上のアクションマッピングを関連付けるJavaBeanです。 Webアプリケーションのセッション状態を維持します。
- アクションマッピング: アクションマッピングを使用すると、オブジェクトとアクションの間のマッピングを行うことができます。
- アクションフォワード: これは、コントローラーから宛先に結果を転送するために使用されます。
Q#4)Struts2の新機能は何ですか?
回答: Struts2の主な特徴は次のとおりです。
- Struts2では、ActionクラスはPOJOです。クラスを継承したり、インターフェースを実装したりする必要はありません。
- Struts2には、ビューコンポーネント用のJSP、フリーマーカー、およびValocityがあります。
- Struts2では、フロントコントローラーはStrutsPrepareAndExecuteFilterです。
- Struts2では、構成ファイル名はstruts.xmlである必要があり、classesディレクトリ内に配置する必要があります。
- Struts2は、リクエストの処理中にインターセプターの概念を使用します。
Q#5)MVCとは何ですか?
経験豊富なPDFのSQL開発者インタビューの質問と回答
回答: MVCは、Model、View、およびControllerの略で、Webアプリケーションを開発するためのソフトウェアデザインパターンと呼ばれます。
モデル: モデルは、アプリケーションのデータの状態とビジネスロジックを維持する責任があります。
見る: ビューは、使用するすべてのデータを表示する責任があります。つまり、プレゼンテーションを表示します。
コントローラ: コントローラは、ビューとモデルの間のインターフェイスとして機能します。すべてのリクエストをインターセプトします。つまり、Model / Viewへの入力とコマンドを受信してそれに応じて変更します。

Q#6)インターセプターとは何ですか?
回答: インターセプターは、アクションが呼び出される前に前処理ロジックを提供するオブジェクト、またはアクションが呼び出された後に後処理ロジックを提供するオブジェクトです。インターセプターは、検証、例外処理、ファイルアップロード、中間結果の表示などのさまざまな操作を実行するために使用できます。
Q#7)インターセプターのライフサイクルメソッドは何ですか?
回答: インターセプターには、以下の3つのライフサイクル方法があります。
- init()メソッド
- インターセプト()メソッド
- destroy()メソッド
Q#8) Struts2アプリケーションでリクエストはどのように処理されますか?
回答:Struts2アプリケーションでのリクエストは以下の方法で処理されます。
- まず、受信したリクエストがユーザーによってサーバーに送信されます。
- 次に、リクエストは、適切なアクションを選択するFilterDispatcherによって処理されます。
- 定義されたインターセプターは、ファイルのアップロード、例外処理などの前処理操作を実行します。
- これで、選択したアクションが実行され、操作が実行されます。
- この場合も、定義されたインターセプターは、ファイルのアップロード、例外処理などの後処理操作を実行します。
- 最終結果は、ビューページの形式でユーザーに表示されます。
Q#9)StrutsのStruts.xmlファイルの機能は何ですか?
回答: struts.xmlファイルでは、ユーザーはアクションへのすべてのマッピングを定義して、特定の操作が実行されたときに特定のアクションが呼び出されるようにすることができます。これは構成ファイルとも呼ばれ、WEB-INF / classesフォルダーの下にあります。
Q#10)Strutsで使用される構成ファイルはどれですか?
回答:Strutsで使用される構成ファイルは次のとおりです。
- ApplicationResource.properties。
- Struts-config.xml。
Q#11)StrutsでのValidate()メソッドとReset()メソッドの使用法は何ですか?
回答:
検証 () メソッドは、プロパティが入力された後にプロパティを検証するために使用され、フォームBeanがアクションに渡される前に呼び出されます。アクションエラーのコレクションを返します。
構文:Public ActionErrors Validate(ActionMappingマッピング、HttpServletRequestリクエスト)
リセット() メソッドは、新しい値が設定される前に、すべてのActionFormのデータをリセットするために使用されます。これは、定義されたアクションフォームを使用する各リクエストでstrutsフレームワークによって呼び出されます。
構文:public void reset((ActionMapping Mapping、HttpServletRequest request)
Q#12)バリュースタックとはどういう意味ですか?
回答: 値スタックは、要件固有のオブジェクトを含むスタックとして説明できます。実行中、アクションはスタックの最上位に留まります。
次に、オブジェクトは値スタックに配置され、ユーザーはそのオブジェクトに対してSQL操作を実行できます。
バリュースタックのさまざまな方法は次のとおりです。
- FindString(): 指定された式から文字列を検索するために使用されます。
- FindValue(): 指定された式から値を見つけるために使用されます。
- ピーク(): スタックの一番上にあるオブジェクトを提供します。
- ポップ (): スタックの一番上にあるオブジェクトを提供し、それを削除します。
- 押す (): オブジェクトをスタックの一番上にプッシュします。
Q#13)アクションコンテキストとはどういう意味ですか?
回答: アクションコンテキストは、アクションが実行されるオブジェクトコンテナです。アクションコンテキストに格納される値はスレッドごとに一意であるため(つまり、スレッドローカル)、その結果、アクションをスレッドセーフにする必要はありません。
ActionContextクラスのgetContext()メソッドを呼び出すことにより、ActionContextの参照を取得できます。これは静的ファクトリメソッドです。
例えば: ActionContext context = ActionContext.getContext();
Q#14)ActionInvocationの用途は何ですか?
回答: ActionInvocationは、アクションの実行状態を表すために使用されます。アクションとインターセプターオブジェクトを保持します。
Q#15)OGNLの用途は何ですか?
回答: Object Graph Navigation Language(OGNL)は、強力な表現言語です。 ActionContextに保存されているデータのアクセシビリティを簡素化するのに役立ちます。 OGNLは、コレクション(Map、List、Setなど)との対話をサポートしています。
strutsフレームワークは、ValueStackをOGNLのルートオブジェクトとして設定するのに役立ちます。アクションオブジェクトはValueStackにプッシュされ、アクションプロパティに直接アクセスできます。
Q#16)アクションインターフェイスに存在する定数の種類は何ですか?
回答: アクションインターフェイスによって提供される定数には5つのタイプがあります。
彼らです:
- ログイン
- 入力
- 成功
- エラー
- なし
Q#17)Struts2でアクションクラスを作成するにはどうすればよいですか?
回答: Struts2でアクションクラスを作成する方法はたくさんあります。
それらのいくつかは次のとおりです。
- Strts2 @ Actionアノテーションを使用します。
- ActionSupportクラスを拡張します。
- アクションインターフェイスを実装する。
- execute()戻り値で構成されるJavaクラスは、アクションクラスとして構成できます。
Q#18)Strutsで例外を処理するにはどうすればよいですか?
回答: Strutsでは、以下に示すように2つの方法で例外を処理できます。
- プログラムによる例外処理: この場合、Try {} Catch {}ブロックを使用して例外を処理できます。
- 宣言型例外処理: ここでは、struts-config.xmlでグローバル例外処理タグを定義するか、タグ内で例外処理タグを定義できます。
Q#19)Strutsのタグライブラリの種類は何ですか?
回答: Strutsは、ソフトウェア開発を容易にするために多くのタグライブラリを提供しています。
彼らです:
- Beanタグライブラリ: JavaBeansとそのプロパティにアクセスするために使用されます。
- ネストされたタグライブラリ: アプリケーションでネストされたBeanを使用する機能を提供します。
- ロジックタグライブラリ: 必要な出力、反復機能、およびフロー管理を提供するために使用されます。
- HTMLタグライブラリ: 必要なHTML出力を取得するのに役立ちます。
- タイルタグライブラリ: タイルがあるアプリケーションで使用されます。
Q#20)Strutsアクションの種類は何ですか?
Chrome用の無料ポップアップブロッカー
回答: ストラットアクションには5つのタイプがあります。
それらは次のとおりです。
- フォワードアクション: このクラスを使用すると、既存のサーブレットを書き直すことなく、Strutsコントローラーとその機能を制御できます。
- アクションを含める: IncludeActionクラスを使用して、処理中のリクエストへの応答に別のリソースを含めます。
- 切り替えアクション: あるモジュールの1つのリソースを別のモジュールの別のリソースに切り替えるために使用されます。
- ディスパッチアクション: 関連するアクションを1つのクラスに結合するために使用されます。
- LookUpAction: アクション名が機能していない場合に、キーを使用してアクションを駆動するために使用されます。
Q#21)Struts2のタグの種類は何ですか?
回答: Struts2のさまざまなタイプのタグは次のとおりです。
- コントロールタグ (Elseタグ、Iteratorタグ、Mergeタグ、Appendタグ、Generatorタグなどの場合)
- データタグ (アクションタグ、インクルードタグ、Beanタグ、日付タグ、パラメータタグ、プロパティタグ、プッシュタグ、セットタグ、テキストタグなど)
- シェイプデー (すべての単純なUIタグ。)
- Ajaxの日
Q#22)Struts2のデフォルトの結果タイプは何ですか?
回答: struts2のデフォルトの結果タイプはディスパッチャーです。これは、JSPページをディスパッチするために使用されます。
Q#23)国際化とはどういう意味ですか?なぜそれが必要なのですか?
回答: 国際化(i18n)は、製品やサービスを計画および実装するために使用されるインターセプターであり、特定の地域の言語や文化、つまりローカリゼーションと呼ばれるプロセスに簡単に適合させることができます。
アクションのロケールの設定を処理します。ユーザーが自分のロケールを設定し、提供されたロケールに従ってデータを取得したい場合に使用できます。
Q#24)Struts2のコアコンポーネントは何ですか?
回答: Struts2のコアコンポーネントは次のとおりです。
xmlファイルを読み取るにはどうすればよいですか
- インターセプター
- バリュースタック
- アクションコンテキスト
- OGNL
- ActionInvocation
Q#25)カスタムインターセプターを作成するにはどうすればよいですか?
回答: クラスにInterceptorインターフェースを実装し、その3つのライフサイクルメソッドをオーバーライドすることで、カスタムインターセプターを作成できます。 init()、Destroy()、Intercept() 。 struts.xmlファイルでインターセプターのエントリを定義して作成することもできます。
Q#26)Struts2のトークンインターセプターの機能は何ですか?
回答: Webアプリケーションの主な問題は、ユーザーから2倍の金額を請求し、データベースに2倍の値を格納するという二重フォームの送信です。トークンインターセプターを使用して、二重フォーム送信の問題を解決できます。このインターセプターは、struts-defaultパッケージで定義されています。
Q#27)Struts2アプリケーションでファイルをアップロードするにはどうすればよいですか?
回答: FileUploadInterceptorの助けを借りて、struts2アプリケーションにファイルをアップロードできます。
Q#28)Struts2アクションは同期されていますか?
回答: はい、Struts2アクションは、新しい着信要求を処理するためにオブジェクトが呼び出されるときに同期されます。
Q#29)Struts2インターセプターは同期されていますか?
回答: Struts2インターセプターはシングルトンクラスであり、リクエストを処理するために新しいスレッドが作成されるため、同期されません。共有データの問題を回避するために、慎重に実装する必要があります。
Q#30)Struts2のフロントコントローラーとは何ですか?
回答: StrutsPrepareAndExecuteFilterは、Struts2のフロントコントローラークラスであり、すべての着信要求の開始点でもあります。
Q#31)ValueStackとOGNLはどのようにリンクされていますか?
回答: OGNLは、ValueStackデータを操作するためのライブラリですが、ValueStackは、アクションに関連するすべての値とデータが格納されるスタックです。
Q#32) Struts2でXMLを使用して出力ページを表示する構文を記述しますか?
回答:ここStruts2では、ユーザーは次のようにXMLファイルを宣言できます。
output.jsp error.jspQ#33) どのデザインパターンの後にインターセプターが続きますか?
回答: インターセプターは、インターセプトフィルターに基づくデザインパターンに従います。
Q#34)Struts2のプラグインタグはどこにありますか?プラグインタグの機能は何ですか?
回答: プラグインタグはstruct-config.xmlにあり、すべてのプロンプトとエラーメッセージを含むプロパティファイルがどこにあるかをユーザーに通知するために使用されます。
Q#35)Strutsフレームワークの欠点は何ですか?
回答:Strutsフレームワークの欠点のいくつかは次のとおりです。
- サーブレットコントローラは1つだけ使用されます。
- 適切なドキュメントがありません。
- 透明度がいっぱいではありません。
- アプローチは柔軟性がありません。
- 学ぶべきことがたくさんあります。
結論
この有益な記事から、Strutsフレームワークについて多くのことを学びました。 Strutsフレームワークとは何かを見ましたか? Strutsフレームワークのフロー、Strutsの必要性、他のフレームワークに対するStrutsの利点、Strutsアーキテクチャとコンポーネント、クラス、およびその構成ファイル。
また、インターセプター、アクションコンテキスト、OGNL、アクション呼び出し、ライフサイクルメソッド、さまざまなタイプのタグ、Strutsでの例外処理などの概念についても説明しました。
この記事がStrutsの概念を簡単に理解するのに役立つことを願っています。この有益な記事の助けを借りて、Strutsに関する質問に自信を持って答えることができます。