top 35 frequently asked struts interview questions answers
Ce didacticiel sur les questions d'entretien Struts avec réponses explique les concepts de Struts avec des exemples simples:
Cette série de questions Struts vous guidera à travers la présentation complète de Struts Framework, le flux d'une application, le besoin de Struts, ses actions, ses constantes, etc., ainsi que les entrées utilisées dans Struts. Cet article couvrira toutes les questions importantes qui sont posées lors de toute interview Struts.
Personne ne vous demandera d'écrire du code avec Strtus2, il survolera toutes les questions théoriques et l'intervieweur veut juste savoir si le candidat a des connaissances de base sur le flux du framework Struts ou non.
Après avoir passé en revue toutes ces questions à fond, si vous pouvez expliquer les concepts dans vos propres mots avec de petits exemples en temps réel, vous avez terminé.
Questions d'entretien Struts les plus fréquemment posées avec réponses
Q # 1) Qu'est-ce que Struts Framework? Quels sont ses composants?
Répondre: Struts est un type de cadre de développement d'applications Web qui fournit une plate-forme appropriée pour le développement d'applications Web. Les Struts incluent des servlets, des JSP, des balises personnalisées et des ressources de message dans un cadre unifié.
Q # 2) Pourquoi utilisons-nous Struts?
Répondre: Comme Struts est basé sur l'architecture MVC, c'est-à-dire modèle, vue, contrôleur, il sépare la logique métier, la conception et le contrôleur, ce qui rend le code plus simple, maintenable et lisible.
Q # 3) Quelles sont les classes importantes de l'application Struts?
Réponse: Vous trouverez ci-dessous les classes les plus importantes de l'application Struts.
- Servlet d'action: C'est la classe du contrôleur et gère toutes les demandes entrantes.
- Classe d'action: Avec la classe Action, toute la logique métier, également appelée modèle, est développée.
- Formulaire d'action : Action Form est un bean java qui associe un ou plusieurs mappages d'action. Il conserve l'état de session d'une application Web.
- Cartographie des actions: Avec le mappage d'action, nous pouvons faire le mappage entre objet et action.
- Action en avant: Il est utilisé pour transmettre le résultat du contrôleur à la destination.
Q # 4) Quelles sont les nouvelles fonctionnalités de Struts2?
Répondre: Les principales caractéristiques de Struts2 sont les suivantes.
- Dans Struts2, la classe Action est POJO. Nous n'avons pas besoin d'hériter d'une classe ou d'implémenter une interface.
- Struts2 a JSP, Free marker et Valocity pour le composant de vue.
- Dans Struts2, Front Controller est StrutsPrepareAndExecuteFilter.
- Dans Struts2, le nom du fichier de configuration doit être struts.xml et doit être placé dans le répertoire classes.
- Struts2 utilise le concept d'intercepteurs lors du traitement de la requête.
Q # 5) Qu'est-ce que MVC?
quelle est la meilleure application pour télécharger des vidéos youtube
Répondre: MVC signifie Model, View et Controller et s'appelle le Software Design Pattern pour le développement d'applications Web.
Modèle: Le modèle est responsable de la maintenance de l'état des données et de la logique métier de l'application.
Vue: View est responsable de montrer toutes les données à utiliser, c'est-à-dire qu'il montre la présentation.
Manette: Le contrôleur agit comme une interface entre la vue et le modèle. Il intercepte toutes les demandes, c'est-à-dire reçoit des entrées et des commandes à Model / View pour changer en conséquence.

Q # 6) Que sont les intercepteurs?
Répondre: Les intercepteurs sont l'objet qui fournit la logique de prétraitement avant l'appel de l'action ou qui fournit une logique de post-traitement après l'appel de l'action. Les intercepteurs peuvent être utilisés pour effectuer diverses opérations telles que les validations, la gestion des exceptions, le téléchargement de fichiers, l'affichage des résultats intermédiaires, etc.
Q # 7) Quelles sont les méthodes de cycle de vie de l'intercepteur?
Répondre: Il existe trois méthodes de cycle de vie de l'intercepteur comme indiqué ci-dessous.
- méthode init ()
- méthode intercept ()
- destroy () méthode
Q # 8) Comment une demande est-elle traitée dans l'application Struts2?
Réponse: Une demande dans l'application Struts2 est traitée de la manière ci-dessous.
- Dans un premier temps, la requête reçue est envoyée au serveur par l'utilisateur.
- Ensuite, la demande est gérée par FilterDispatcher qui sélectionne une action appropriée pour elle.
- Les intercepteurs définis effectuent des opérations de prétraitement telles que le téléchargement de fichiers, la gestion des exceptions, etc.
- Maintenant, l'action sélectionnée est exécutée et l'opération est effectuée.
- Là encore, les intercepteurs définis effectuent des opérations de post-traitement telles que le téléchargement de fichiers, la gestion des exceptions, etc.
- Le résultat final est affiché à l'utilisateur sous la forme de la page de visualisation.
Q # 9) Quelle est la fonction du fichier Struts.xml dans Struts?
Répondre: Dans le fichier struts.xml, l'utilisateur peut définir tout le mappage vers des actions afin qu'une action particulière soit appelée lorsqu'une opération particulière est effectuée. Il est également appelé comme fichier de configuration et est présent dans le dossier WEB-INF / classes.
Q # 10) Quels fichiers de configuration sont utilisés dans Struts?
Réponse: Les fichiers de configuration utilisés dans Struts incluent:
- ApplicationResource.properties.
- Struts-config.xml.
Q # 11) Quelle est l'utilisation des méthodes Validate () et Reset () dans Struts?
Répondre:
Valider () est utilisée pour valider les propriétés une fois qu'elles ont été renseignées et elle est appelée avant que le Bean Form ne soit passé à l'action. Il renvoie une collection d'erreurs d'action.
Syntaxe: Public ActionErrors Validate (mappage ActionMapping, requête HttpServletRequest)
Réinitialiser () est utilisée pour réinitialiser toutes les données de l'ActionForm avant que les nouvelles valeurs ne soient définies. Il est appelé par le framework struts avec chaque requête qui utilise un formulaire d'action défini.
Syntaxe: public void reset ((mappage ActionMapping, requête HttpServletRequest)
Q # 12) Qu'entendez-vous par Value Stack?
Répondre: Une pile de valeurs peut être expliquée comme une pile contenant des objets spécifiques aux exigences. L'action reste en haut de la pile pendant son exécution.
Les objets sont ensuite placés dans Value Stack et l'utilisateur peut y effectuer des opérations SQL.
Les différentes méthodes de Value Stack sont les suivantes:
- FindString (): Utilisé pour trouver la chaîne de l'expression donnée.
- FindValue (): Utilisé pour trouver la valeur de l'expression donnée.
- Coup d'oeil (): Il donne l'objet situé en haut de la pile.
- Pop (): Il donne l'objet situé en haut de la pile et le supprime.
- Pousser (): Il pousse l'objet vers le haut de la pile.
Q # 13) Qu'entendez-vous par contexte d'action?
Répondre: Le contexte d'action est un conteneur d'objets dans lequel des actions sont exécutées. Les valeurs stockées dans le contexte d'action sont uniques par thread (c'est-à-dire Thread Local). Par conséquent, nous n'avons pas besoin de rendre notre action thread-safe.
quel est le système d'exploitation de l'ordinateur
En appelant la méthode getContext () de la classe ActionContext, nous pouvons obtenir la référence d'ActionContext. C'est une méthode d'usine statique.
Par exemple: ActionContext context = ActionContext.getContext ();
Q # 14) À quoi sert ActionInvocation?
Répondre: ActionInvocation est utilisé pour représenter l'état d'exécution de l'action. Il contient l'action et l'objet intercepteur.
Q # 15) Quelle est l'utilisation de l'OGNL?
Répondre: Le langage OGNL (Object Graph Navigation Language) est un langage d'expression puissant. Cela permet de simplifier l'accessibilité des données stockées dans ActionContext. OGNL prend en charge l'interaction avec les collections, c'est-à-dire Map, List et Set.
Le framework struts permet de définir ValueStack comme objet racine de OGNL. L'objet action est poussé dans ValueStack et nous pouvons accéder directement à la propriété action.
Q # 16) Quels sont les types de constantes présentes dans l'interface d'action?
Répondre: Il existe cinq types de constantes fournies par l'interface d'action.
Elles sont:
- Connexion
- Saisir
- Succès
- Erreur
- Aucun
Q # 17) Comment pouvons-nous créer des classes d'action dans Struts2?
Répondre: Il existe de nombreuses façons de créer des classes d'action dans Struts2.
Certains d'entre eux sont les suivants:
- Utilisation de l'annotation Strts2 @Action.
- Étendez la classe ActionSupport.
- En implémentant l'interface d'action.
- Toute classe java constituée de la valeur de retour execute () peut être configurée comme classe d'action.
Q # 18) Comment pouvons-nous gérer les exceptions dans les entretoises?
Répondre: Dans Struts, les exceptions peuvent être gérées de deux manières, comme indiqué ci-dessous.
- Gestion des exceptions par programme: Dans ce cas, nous pouvons utiliser le bloc Try {} Catch {} pour gérer l'exception.
- Gestion des exceptions déclaratives: Ici, nous pouvons définir les balises de gestion des exceptions globales dans struts-config.xml ou définir des balises de gestion des exceptions dans les balises.
Q # 19) Quels sont les types de bibliothèques de balises dans Struts?
Répondre: Struts fournit de nombreuses bibliothèques de balises pour faciliter le développement de logiciels.
Elles sont:
- Bibliothèque de balises Bean: Utilisé pour accéder aux Java Beans et à ses propriétés.
- Bibliothèque de balises imbriquées: Offre la possibilité d'utiliser des beans imbriqués dans l'application.
- Bibliothèque de balises logiques: Utilisé pour donner la sortie requise, la capacité d'itération et la gestion des flux.
- Bibliothèque de balises HTML: Aide à obtenir la sortie HTML requise.
- Bibliothèque de balises Tiles: Utilisé dans les applications qui ont des tuiles.
Q # 20) Quels sont les différents types d'actions Struts?
Répondre: Il existe 5 types d'actions Struts.
Ils sont les suivants:
- Action en avant: Avec cette classe, nous pouvons contrôler le contrôleur Struts et ses fonctionnalités, sans avoir à réécrire les servlets existants.
- Inclure l'action: Utilisation de la classe IncludeAction pour inclure une autre ressource dans la réponse à la demande en cours de traitement.
- Action de commutation: Utilisé pour basculer une ressource dans un module vers une autre ressource dans un autre module.
- Action d'expédition: Utilisé pour combiner les actions associées en une seule classe.
- LookUpAction: Utilisé pour piloter l'action avec une clé si le nom de l'action ne fonctionne pas.
Q # 21) Quels sont les différents types de balises dans Struts2?
Répondre: Les différents types de balises dans Struts2 sont les suivants:
- Balise de contrôle (If Else tag, Itterator Tag, Merge Tag, Append Tag, Generator Tag, etc.)
- Balise de données (Balise d'action, balise d'inclusion, balise de haricot, balise de date, balise de paramètre, balise de propriété, balise push, balise de jeu, balise de texte, etc.)
- Jour de forme (Toutes les balises d'interface utilisateur simples.)
- Journée Ajax
Q # 22) Quel est le type de résultat par défaut dans Struts2?
graphe implémentation liste de contiguïté c ++
Répondre: Le type de résultat par défaut dans struts2 est le répartiteur. Il est utilisé pour distribuer les pages JSP.
Q # 23) Qu'entendez-vous par internationalisation? Pourquoi en avons-nous besoin?
Répondre: L'internationalisation (i18n) est l'intercepteur qui est utilisé pour planifier et mettre en œuvre des produits et services afin qu'ils puissent être facilement adaptés à des langues et cultures locales spécifiques, c'est-à-dire un processus appelé localisation.
Il gère la configuration des paramètres régionaux pour l'action. Il peut être utilisé si l'utilisateur souhaite définir ses paramètres régionaux et obtenir des données en fonction des paramètres régionaux fournis.
Q # 24) Quels sont les composants de base de Struts2?
Répondre: Les principaux composants de Struts2 sont les suivants:
- Intercepteurs
- Pile de valeur
- Contexte de l'action
- OGNL
- ActionInvocation
Q # 25) Comment pouvons-nous créer un intercepteur personnalisé?
Répondre: Nous pouvons créer l'intercepteur personnalisé en implémentant l'interface Interceptor dans une classe et en remplaçant sa méthode à trois cycles de vie, c'est-à-dire init (), Détruire (), Intercepter () . Il peut également être créé en définissant l'entrée de l'intercepteur dans le fichier struts.xml.
Q # 26) Quelle est la fonctionnalité du Token Interceptor dans Struts2?
Répondre: Le problème majeur avec les applications Web est la soumission de double formulaire qui entraîne la facturation de montants doubles de l'utilisateur et le stockage de valeurs doubles dans la base de données. Nous pouvons utiliser un intercepteur de jetons pour résoudre le problème de soumission de double formulaire. Cet intercepteur est défini dans le package struts-default.
Q # 27) Comment télécharger des fichiers dans l'application Struts2?
Répondre: Avec l'aide de FileUploadInterceptor, nous pouvons télécharger des fichiers dans l'application struts2.
Q # 28) L'action Struts2 est-elle synchronisée?
Répondre: Oui, les actions Struts2 sont synchronisées lorsqu'un objet est appelé pour gérer toute nouvelle demande entrante.
Q # 29) Les intercepteurs Struts2 sont-ils synchronisés?
Répondre: Comme les intercepteurs Struts2 sont des classes singleton et qu'un nouveau thread est créé pour gérer la demande, il n'est pas synchronisé et nous devons les implémenter avec soin pour éviter tout problème avec les données partagées.
Q # 30) Qu'est-ce que le contrôleur avant dans Struts2?
Répondre: StrutsPrepareAndExecuteFilter est la classe Front Controller dans Struts2, c'est également le point de départ de chaque requête entrante.
Q # 31) Comment ValueStack et OGNL sont-ils liés?
Répondre: OGNL est une bibliothèque à travers laquelle les données ou valeurs ValueStack sont manipulées alors que ValueStack est une pile où toutes les valeurs et données liées aux actions sont stockées.
Q n ° 32) Écrire la syntaxe pour afficher la page de sortie en utilisant XML dans Struts2?
Réponse: Ici, dans Struts2, un utilisateur peut déclarer le fichier XML comme indiqué ci-dessous:
output.jsp error.jsp
Q # 33) Quel modèle de conception est suivi par les intercepteurs?
Répondre: Les intercepteurs suivent un modèle de conception basé sur les filtres d'interception.
Q # 34) Où se trouve la balise Plug-in dans Struts2? Quelle est la fonction de la balise Plug-in?
Répondre: La balise de plug-in se trouve dans le struct-config.xml et est utilisée pour indiquer à l'utilisateur où se trouve le fichier de propriétés contenant toutes les invites et les messages d'erreur.
Q # 35) Quels sont les inconvénients du cadre Struts?
Réponse: Certains des inconvénients de Struts Framework sont les suivants:
- Un seul contrôleur de servlet est utilisé.
- Pas de documentation appropriée.
- La transparence n'est pas totale.
- L'approche est inflexible.
- Il y a beaucoup de choses à apprendre.
Conclusion
Nous avons beaucoup appris sur Struts Framework grâce à cet article informatif. Nous avons vu ce qu'est Struts Framework? Le flux de Struts Framework, le besoin de Struts, les avantages de Struts par rapport aux autres frameworks, l'architecture et les composants Struts, les classes et ses fichiers de configuration.
Nous avons également exploré le concept d'intercepteurs, de contexte d'action, d'OGNL, d'invocation d'action, de méthodes de cycle de vie, de différents types de balises, de gestion des exceptions dans les Struts, etc.
J'espère que cet article vous a aidé à comprendre facilement les concepts Struts. Vous pouvez répondre en toute confiance aux questions sur Struts à l'aide de cet article informatif.
lecture recommandée
- 20 questions d'entrevue d'AQ sélectives pour effacer l'entrevue en 2021
- 25 meilleures questions et réponses d'entrevue de test Agile
- 25+ questions et réponses d'entrevue ADO.NET les plus populaires
- Plus de 25 questions et réponses sur les entretiens MVC de printemps
- 30 questions et réponses d'entretien PL / SQL les plus importantes en 2021
- 30 principales questions et réponses d'entrevue HTML (LISTE 2021)
- Plus de 30 questions et réponses sur les entretiens Scrum les plus populaires (LISTE 2021)
- 31 Questions et réponses sur les entretiens de test de base de données
- 48 Questions et réponses sur les entretiens avec AngularJS (Liste 2021)