Top 24 des questions et réponses des entretiens avec les servlets
Publié: 2021-06-03Un servlet est un logiciel basé sur Java qui étend les capacités d'un serveur. C'est un composant essentiel de tout serveur car il répond aux demandes de conteneur et pour l'hébergement d'applications Web. Pour exécuter le back-end d'un site Web, c'est-à-dire côté serveur, vous devez vous familiariser avec les servlets et leur fonctionnement.
Comme les serveurs basés sur Java sont très populaires, il est essentiel de se familiariser avec les servlets si vous souhaitez travailler avec des serveurs Web.
Si vous vous prépariez à un entretien de développeur, vous êtes au bon endroit. Les questions d'entretien de servlet suivantes vous donneront une idée de ce à quoi vous attendre de l'entretien.
Table des matières
Liste des principales questions d'entretien avec les servlets
- Qu'entendez-vous par servlet ?
Réponse : Les servlets sont des technologies Java, et le conteneur qui les gère s'appelle le moteur de servlets. Un servlet produit un contenu dynamique et interagit avec le client via Request and Response. Ils s'exécutent généralement lorsque vous cliquez sur un lien ou effectuez tout type d'action sur un site Web. Les servlets sont similaires aux applets, mais la différence est qu'ils sont traités sur le serveur alors qu'un applet est traité sur la machine du client.
- Qu'est-ce qu'un conteneur de servlet ?
Réponse : Les conteneurs de servlet font partie d'un serveur Web qui offre des services réseau. Ils dépendent des requêtes et des réponses basées sur MIME. Un conteneur de servlet gère les servlets.
- Pourquoi utilisons-nous des servlets ?
Réponse : Habituellement, nous utilisons des servlets car ils sont indépendants de la plate-forme. De plus, ils sont compilés dans un code binaire indépendant de la plate-forme. Vous pouvez charger dynamiquement du bytecode Java dans un serveur Web compatible Java.
- Qu'entendez-vous par filtre ?
Réponse : Les filtres sont des morceaux de code réutilisables qui peuvent transformer le contenu des requêtes HTTP, des réponses et des en-têtes.
- Quelle est la différence entre un serveur d'application et un serveur Web ?
Réponse : Un serveur Web gère les requêtes HTTP du navigateur client et répond avec une réponse HTML. Il traite le langage HTTP et s'exécute sur le protocole HTTP.
D'autre part, un serveur d'applications fournit des fonctionnalités supplémentaires telles que la prise en charge de la messagerie JMS, la prise en charge des Enterprise JavaBeans, etc., ainsi que les fonctionnalités de base d'un serveur Web.
- Qu'entendez-vous par séance ?
Réponse : Session signifie une période de temps. Dans le servlet, les sessions sont des objets qu'un servlet utilise pour suivre l'interaction de l'utilisateur avec les applications Web à travers plusieurs requêtes HTTP.
- Qu'entendez-vous par contexte de servlet ?
Réponse : Le contexte de servlet définit un ensemble de méthodes qu'une servlet utilise pour communiquer avec son conteneur de servlet. Le conteneur de servlet crée cet objet pour partager la configuration ou les paramètres initiaux avec l'ensemble de l'application
Vous pouvez obtenir l'objet ServletContext en utilisant la méthode getServletContext(). Il n'y a qu'un seul contexte de servlet pour une application. Vous pouvez utiliser ServletContext pour partager des informations dans l'ensemble de l'application.
Remarque : Il s'agit de l'une des questions et réponses les plus importantes de l'entretien avec les servlets.
- Que signifie le mappage de servlet ?
Réponse : Le mappage de servlet vous donne le conteneur Web spécifique dont le servlet Java doit être invoqué pour une URL particulière. Il mapperait les modèles d'URL sur le servlet. Lorsqu'un client envoie une requête, le conteneur de servlet détermine à quelle application il la transmettra et le système fait correspondre le chemin de contexte pour effectuer le mappage de servlet.
- Comment actualisez-vous automatiquement après avoir entré de nouvelles données dans la base de données ?
Réponse : Vous pouvez utiliser l'actualisation dans Server Push et côté client pour actualiser automatiquement lors de la saisie de nouvelles données dans la base de données.
- Expliquer le cycle de vie d'une servlet.
Réponse : Le cycle de vie d'un servlet est divisé en cinq étapes. Tout d'abord, vous chargez la classe de servlet, puis créez l'instance de servlet. Après cela, vous invoquez la méthode init(), puis la méthode service et enfin la méthode destroy(). Un servlet a trois états : nouveau, prêt et fin.
Le servlet serait dans le nouvel état lorsqu'il est créé. Il passe à l'état prêt après avoir invoqué la méthode init(). Enfin, il passe à l'état final lorsque la méthode destroy() est invoquée.
- Quelles nouvelles fonctionnalités ont été ajoutées dans Servlet 2.5 ?
Rép : Servlet 2.5 est venu avec les nouvelles fonctionnalités suivantes :
- Dépendance J2SE 5.0
- Prise en charge des annotations
- Chargement de classe
- Nouveau web.xml
- Clarifications des cas marginaux
- Suppression des restrictions
- Quelle interface toutes les servlets implémentent-elles (ou devraient-elles implémenter) ?
Réponse : Tous les servlets doivent implémenter l'interface de servlet.
- Quand est-ce qu'une servlet est chargée ?
Réponse : Une servlet est chargée lorsque :
- La première demande est faite.
- Démarrage du serveur et du chargement automatique.
- Une seule instance répond à toutes les requêtes simultanément, économisant ainsi de la mémoire.
- L'administrateur se charge manuellement.
- Quand une servlet est-elle déchargée ?
Rép : Un servlet est déchargé lorsque le serveur s'arrête ou que l'administrateur le décharge manuellement.
- Qu'entendez-vous par type MIME ?
Réponse : MIME signifie Multipurpose Internet Mail Extension. Le type MIME est un en-tête HTTP qui donne des informations sur ce que nous envoyons à un navigateur. Il aide le client dans le rendu des données. Les types MIME courants sont le texte (HTML), le texte (plain), les images (jpeg), l'application (jar), etc.
Pour obtenir le type MIME correct d'un fichier particulier, vous pouvez utiliser la méthode ServletContext getMimeType(). Il est pratique lors du téléchargement d'un fichier via des servlets à partir d'un serveur.
- Quelle est la différence entre les méthodes POST et GET ?
Réponse : La principale différence entre les méthodes POST et GET est que la méthode POST porte les paramètres de réponse dans le corps du message tandis que la méthode GET porte les paramètres de réponse ajoutés dans la chaîne URL.
- Qu'entendez-vous par une application web ?
Réponse : Une application Web est un module qui s'exécute sur le serveur pour fournir un contenu dynamique et statique au navigateur client. Le serveur Web Apache prend en charge PHP et vous pouvez créer une application Web à l'aide de celui-ci.
Java prend en charge les applications Web via les JSP, et les servlets qui s'exécutent dans un conteneur de servlets offrent un contenu dynamique au navigateur client.
- Quels avantages une servlet offre-t-elle par rapport à CGI ?
Réponse : La technologie CGI présentait de nombreuses lacunes. Les servlets ont été introduits pour surmonter la même chose.
Les servlets offrent de meilleures performances que CGI en termes d'utilisation de la mémoire et de temps de traitement. Ils utilisent les avantages du multithreading, où ils créent un nouveau thread pour chaque requête, améliorant considérablement leur vitesse. En revanche, CGI crée un nouvel objet pour chaque requête, ce qui est relativement plus lent que le processus des servlets.
Les servlets sont indépendants du système et de la plate-forme. Vous pouvez exécuter une application Web basée sur un servlet sur n'importe quel conteneur Web standard (Glassfish, Tomcat et JBoss) et système d'exploitation (Unix, Windows, Mac, etc.).
La courbe d'apprentissage des servlets est assez courte car vous n'avez qu'à gérer la logique métier de l'application. De plus, leur conteneur gère le cycle de vie du servlet, il n'y a donc aucun risque de fuite de mémoire, de récupération de place et de sécurité.
- Que savez-vous de l'objet ServletConfig ?
Réponse : Vous utilisez l'objet ServletConfig pour donner des informations de configuration à un servlet spécifique. Chaque servlet a un objet ServletConfig unique et le conteneur de servlet l'instancie. Vous pouvez donner des paramètres d'initialisation de servlet via l'annotation WebInitParam. Pour obtenir l'objet ServletConfig d'un servlet, vous devez utiliser la méthode getServletConfig().
- Quelles tâches un conteneur de servlet effectue-t-il habituellement ?
Réponse : Un conteneur de servlet effectue les tâches suivantes :
- Il facilite la communication entre les servlets, les JSP et le client Web. Vous n'avez pas besoin de créer un socket serveur pour recevoir les requêtes, les analyser et générer des réponses à cause du conteneur. Le conteneur s'occupe de ces tâches, vous permettant de vous concentrer sur la logique métier.
- Le conteneur de servlet gère le cycle de vie des servlets. Il charge les servlets en mémoire, les initialise, invoque les méthodes nécessaires et les détruit. Les conteneurs de servlet simplifient également la gestion des ressources en offrant des utilitaires tels que JNDI.
- Les conteneurs de servlets créent de nouveaux threads pour chaque requête et donnent des objets de requête et de réponse aux servlets. De cette façon, vous n'avez pas à initialiser les servlets pour chaque requête, ce qui économise beaucoup de mémoire et de temps.
- Les servlets compilent les JSP et les convertissent en servlets pour les gérer comme des servlets, ce qui simplifie votre tâche.
- Qu'entendez-vous par le répartiteur de requête ?
Réponse : Vous utilisez l'interface RequestDispatcher pour transférer les demandes vers une autre ressource. Cette ressource peut être une autre servlet de l'application, HTML ou JSP. Vous pouvez utiliser l'interface RequestDispatcher pour ajouter le contenu d'une autre ressource à votre réponse. C'est une excellente solution pour la communication inter-servlets.
Vous pouvez définir deux méthodes dans l'interface RequestDispatcher :
- La méthode void forward. Il transmet la demande d'un servlet à une autre ressource.
- La méthode void include. Il ajoute le contenu d'une autre ressource à votre réponse.
- Quelle est la différence entre ServletContext et ServletConfig ?
Réponse : ServletContext est un objet unique pour l'ensemble de l'application, tandis que ServletConfig est un objet unique pour un servlet. Vous pouvez utiliser le ServletContext pour donner des paramètres d'initialisation à travers l'application complète, que tous les servlets peuvent utiliser. D'autre part, vous pouvez utiliser ServletConfig pour fournir des paramètres d'initialisation uniquement à un servlet spécifique.
Vous pouvez définir des attributs dans ServletContext, que d'autres servlets peuvent utiliser, mais vous ne pouvez pas choisir d'attributs dans ServletConfig.
Remarque : Il s'agit de l'une des questions et réponses les plus cruciales de l'entretien avec les servlets. Vous devez le préparer avec soin.
- Que savez-vous des attributs de servlet ?
Réponse : Les attributs de servlet vous aident dans la communication inter-servlet. Vous pouvez définir, obtenir et supprimer des attributs dans l'application. Les attributs de servlet ont trois portées, la portée de la demande, la portée de la session et la portée de l'application, à savoir. Ils sont différents des paramètres init.
- Comment appelleriez-vous une servlet à partir d'une autre servlet ?
Réponse : Vous pouvez utiliser RequestDispatcher forward() pour transférer le traitement de la demande vers un autre servlet. Si vous souhaitez ajouter une autre sortie de servlet à une réponse, vous pouvez utiliser la méthode RequestDispatcher include().
Apprenez des cours de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Conclusion
Les questions et réponses de l'entretien de servlet ci-dessus auraient dû vous aider à comprendre le type de questions qu'un entretien vous poserait. Nous vous recommandons de mettre cette page en signet afin que vous puissiez y revenir plus tard et réviser les questions plusieurs fois.
Essayez de rester calme et calme pendant l'entretien. Cela vous aiderait à écouter attentivement les questions et à y répondre en conséquence. Vous pouvez consulter notre programme Executive PG en développement de logiciels avec spécialisation en développement Full Stack pour apprendre des concepts plus avancés sur Java et ses sujets connexes.
Que sont les servlets en Java ?
Une servlet est une classe Java qui peut être invoquée par un serveur HTTP. Les servlets sont généralement utilisés dans le développement d'applications Web. L'objectif principal d'un servlet est de gérer les requêtes d'un client HTTP et de renvoyer une réponse appropriée. Il existe de nombreux types de servlets, mais le plus populaire est les pages Java Server (JSP), car elles peuvent être utilisées pour créer du contenu Web dynamique.
Comment fonctionne la requête-réponse dans une servlet Java ?
Les serveurs utilisent des servlets pour répondre aux requêtes de l'utilisateur. Un servlet peut être utilisé pour télécharger des informations à partir d'une base de données, envoyer un e-mail ou afficher des informations. C'est un petit programme qui exécute une tâche particulière pour le serveur. Les servlets sont écrits en Java et compilés dans un seul fichier de classe. Ensuite, ils sont déployés sur le serveur Web. Une fois déployées, les servlets sont prêtes à accepter les requêtes des utilisateurs. Une demande peut aller d'un utilisateur cliquant sur un lien à un utilisateur remplissant un formulaire. La requête est envoyée au serveur où elle est acheminée vers le servlet approprié. La servlet traite ensuite la requête et renvoie une réponse. Cette réponse peut différer selon le type de demande. Par exemple, si l'utilisateur demandait des informations, la servlet pourrait renvoyer ces informations à l'utilisateur. Si la servlet répond à une demande de formulaire, elle peut envoyer un e-mail de confirmation à l'utilisateur ou une notification concernant la soumission.
Quel est le cycle de vie d'une servlet ?
On peut dire qu'un servlet a trois étapes dans son cycle de vie : 1. Chargement 2. Exécution 3. Destruction. Lors du chargement, la servlet reçoit des paramètres d'initialisation. Ces paramètres sont définis dans le descripteur de déploiement. Une fois le chargement terminé, la servlet peut être appelée par le conteneur de servlet de plusieurs façons - en appelant sa méthode init(), par des appels ajax ou par des événements de cycle de vie. La prochaine et dernière étape est la destruction, c'est-à-dire lorsque la servlet est retirée du conteneur. Il existe plusieurs façons de supprimer un servlet du conteneur de servlet, par exemple, lorsque le conteneur est arrêté ou lorsque l'application Web est arrêtée.