article(s) dans votre panier VOIR

Pour répondre à ce QCM Java vous devez acheter la formation Apprendre Java pour le Web - Réalisez une application Web.

  1. Question 1 / 19Qu'est ce que Java EE ?
    • La version payante de java incluant un support de Sun (Oracle désormais)
    • Un serveur d'application open source
    • Un ensemble de librairies et de normes facilitant la mise en oeuvre des relations client serveur au sein des applications d'entreprise
  2. Question 2 / 19En quoi diffèrent les contenus Web générés grâce à la technologie Servlet et ceux générés grâce à la technologie JSP ?
    • Les JSP proposent des types de contenus Web plus évolués que les servlets, notamment en terme de présentation
    • Aucune, les JSP sont des modèles d'écriture de Servlet
    • Les Servlets sont compilées avant d'être executées sur le Serveur, les JSP sont des pages de scripts interprétées par le navigateur Web
  3. Question 3 / 19Quelle est la différence entre la technique du forward du RequestDispatcher et du sendRedirect de HttpServletResponse ?
    • La technique du forward est plus sûre et plus performante
    • La technique du forward permet à la Servlet de mettre des objets à la disposition des JSP, la technique du sendRedirect ne le permet pas
    • La technique du forward est effectuée côté serveur, celle du sendRedirect fait intervenir le navigateur Web
  4. Question 4 / 19De quoi parle t-on lorsque l'on parle de portée (scope) pour un bean ?
    • Il s'agit de la durée de vie d'un bean dans la mémoire côté serveur
    • Cela correspond à la visibilité de ces propriétés (public, private, protected...)
    • Cela indique si le bean dispose d'une référence à un objet de type HttpServletRequest ou HttpSession
  5. Question 5 / 19Quel est l'intérêt d'introduire le design pattern MVC dans une application Web ?
    • Cela permet essentiellement de gérer la persistance des objets en base de données relationnelle
    • Cela permet entre autres de séparer la problématique de présentation lorsque l'on conçoit une application
    • Cela permet la circulation des données entre Servlet et JSP
  6. Question 6 / 19Quelle est la différence majeure entre un PreparedStatement et un CallableStatement ?
    • Un PreparedStatement autorise les valeurs dynamiques, contrairement au CallableStatement. Ceci permet la réutlisation et apporte plus de sécurité en évitant notamment les injections SQL
    • L'endroit où est écrite et compilée la requête
    • Un PreparedStatement est plus rapide à l'exécution qu'un CallableStatement
  7. Question 7 / 19Quelles différences y a-t-il entre la conservation de données par Cookie et la conservation par session utilisateur ?
    • Il y a beaucoup de différences. L'emplacement où se trouve la donnée, sa durée de vie son type (String / Object) et d'autres encore
    • Aucune différence, les données de session sont stockées dans des cookies
    • Les cookies d'un site internet peuvent être “piratés” par d'autres, il est préférable de conserver les données en session
  8. Question 8 / 19A quoi sert la méthode setContentType de la classe HttpServletResponse ?
    • A indiquer explicitement au navigateur comment il doit traiter le contenu retourné
    • A indiquer la type de jeu de balises (taglib) utilisée
    • A indiquer le type du protocole de la réponse (Http, Ftp...)
  9. Question 9 / 19Comment sera interprétée l'expression EL suivante : ${requestScope.facture.i.j} ?
    • request.getAttribute(“facture”).i.j
    • request.getParameter(“facture.i.j”)
    • request.getAttribute(“facture”).getI().getJ()
  10. Question 10 / 19Qu'affichera le code suivant ? ... ‹c:if test="${!empty boolean}"›     ‹c:forEach items="${req.content}" var="ct"›         ct‹BR/›     ‹/c:forEach› ‹/c:if› ...
    • S'il existe une variable “boolean” ni nulle ni vide dans une portée (scope), autant de lignes contenant la chaîne de caractère “ct” qu'il y a d'éléments dans la collection getContent de la variable “req” située dans une portée (scope)
    • S'il existe une variable de type boolean dans une portée (scope), l'ensemble du contenu de la collection getContent de la variable “req” située dans une portée (scope)
    • S'il existe une variable “boolean” ni nulle ni vide dans une portée (scope), autant de lignes contenant la chaîne de caractère “ct” qu'il y a d'éléments dans la collection getContent de la variable “req” située dans une portée (scope)
  11. Question 11 / 19Pourquoi la portée (scope) de type page n'est-elle pas exploitée dans l'architecture Web MVC ?
    • Parce que la portée page est trop courte, elle ne permet pas le partage d'objets entre le controleur et la vue
    • Parce que cette portée n'existe pas
    • Parce que la portée page requiert la directive qui va importer des classes spécifiques au serveur. Cela empêche donc la portabilité du code
  12. Question 12 / 19Quelle méthode de la classe ResultSet permet de récupérer une colonne de type flottant en base ?
    • getNumber()
    • getFloat()
    • Impossible à dire, cela dépend du driver et du type de la base de données
  13. Question 13 / 19A quoi sert le tableau de String que l'on peut éventuellement passer en paramètre lors de la création de PreparedStatement ou de l'exploitation de Statement ?
    • Ce sont les valeurs des paramètres dynamiques indiquées avec des ? dans la requête SQL
    • Ce sont le nom des colonnes de la requête SQL afin de pouvoir effectuer des getXXX(nomDeLaColonne) au lieu des getXXX(indexDeLaColonne)
    • Il s'agit de la liste des colonnes dont la valeur est affectée par la base de données elle même
  14. Question 14 / 19Pourquoi faut-il prendre des précautions lorsque l'on utilise des propriétés d'instance dans une Servlet ?
    • Parce qu'elles ne sont pas initialisées, ce qui peut être la cause de NullPointerException
    • Parce qu'elle risquent de rendre la Servlet non “Thread Safe”
    • Parce qu'elle engendrent une consommation mémoire importante
  15. Question 15 / 19Que se passe t-il du point de vue de la commande HTTP si une Servlet coopère avec une autre par le biais de RequestDispacther (forward) ?
    • La seconde servlet sera exploitée au travers du doGet car la commande devient systématiquement GET
    • Le traitement se poursuivra dans le doGet ou le doPost de la seconde Servlet selon que le traitement a été initié dans le doGet ou le doPost de la première. En effet, un forward transmet la requête initiale, la commande HTTP est donc conservée
    • La commande HTTP disparaît de la requête
  16. Question 16 / 19Que se passe t-il pour la session utilisateur si le navigateur ne supporte pas les cookies ?
    • L'identifiant de session est transmis par réécriture d'URL
    • Il devient impossible de suivre la session utilisateur
    • Le développeur doit ajouter lui-même l'identifiant de session dans la réponse par le biais de sa méthode encodeRedirectURL()
  17. Question 17 / 19Est-il dangereux de conserver trop longtemps un ResultSet en mémoire ?
    • Oui ! Selon la requête SQL, le jeu de résultat peut-être constitué de milliers voir millions de lignes !
    • Aucune importance, le ResultSet n'est qu'une interface permettant de récolter chaque ligne de résultat sur demande
    • Non, si l'on prend bien garde à fermer la connexion en fin de traitement
  18. Question 18 / 19Qu'est ce qu'un fichier .war ?
    • Il s'agit d'une librairie externe qui devra être ajoutée au WEB-INF/lib
    • C'est le descripteur de déploiement de l'application Web
    • Il s'agit d'une application Web compressée au format zip, ce format facilite sa redistribution
  19. Question 19 / 19Que contient la librairie servlet-api.jar de Tomcat ?
    • Les classes de Java Entreprise Edition correspondantes à l'API Servlet
    • Les classes permettant de traduire les JSP en Servlet
    • Les classes du package java.sql

Pour répondre à ce QCM Java vous devez acheter la formation Apprendre Java pour le Web - Réalisez une application Web.

Retour à la formation