y+7/1/36+ y
Programmation Web Avancée
NOM et Prénom
.........................................
Durée − 1h30. Tous documents de cours autorisés. Chaque question peut avoir une ou plusieurs
bonne(s) réponse(s). Ne passez pas trop de temps sur le QCM. La réponse « (autre) » doit être cochée si
aucune des autres réponses n'est correcte.
estions à oix multiples
Q 1 Au sujet des frameworks Java:
Java EE est un framework Java complet
AngularJS est un framework Java MVC
Spring est un framework Java complet
CSS est un framework Java
Spring est un standard
Java EE est un standard
Q 2 Au sujet de JSP:
JSP veut dire « Java Standard Protocol »
JSP ne peut être utilisé que dans Spring
les JSP sont compilées en classes Java
JSP est un « langage de templating »
Q 3 Une servlet:
est instanciée pour chaque requête HTTP
reçoit un objet représentant la réponse HTTP
peut correspondre à plusieurs URL
reçoit un objet représentant la requête HTTP
Q 4 Un bean utilisé avec un scope session sera créé:
à chaque requête HTTP
une seule fois, à sa première utilisation
une seule fois, au démarrage de l'application
à chaque fois qu'un nouvel utilisateur commence à naviguer
Q 5 Dans une JSP, sachant que la requête est http://site.com/mon.jsp?msg=Hello , on peut
produire Hello avec:
${fn:join(paramValues.msg, " et ")}
${param.msg}
(autre)
${"Hello"}
Q 6 Si une classe Article contient une propriété auteur de type Personne et qu'une
Personne contient une propriété nom . Si nous avons un article odont l'auteur est null , l'expression
en EL (Expression Language) o.auteur.nom produira:
le texte null
une erreur NullPointerException
le texte None
(autre)
y y
y+7/2/35+ y
Q 7 Pour utiliser une structure conditionnelle c::if dans une JSP:
il faut d'abord utiliser l'EL pour remplir une variable avec la condition
il faut utiliser la directive taglib
il faut écrire une servlet pour gérer la condition
il faut utiliser l'EL pour importer la JSTL
il faut utiliser avoir la JSTL dans le classpath
il faut importer la JSTL avec la directive import
Q 8 elle(s) annotation(s) de JPA sont utilisée(s) pour définir une classe persistante?
@RequestMapping
@Id
@Data
@Entity
(autre)
JpaRepository
Q 9 Dans une architecture MVC classique:
la vue affiche les données du modèle
la vue connaît le contrôleur
le contrôleur contient la logique métier
le modèle modélise les objets du domaine
le modèle gère les événement de l'utilisateur
le contrôleur agit sur le modèle
Q 10 Au sujet de l'injection de dépendances (DI):
(autre)
elle aide à créer des systèmes modulaires
elle sert à injecter du code au début ou la fin des méthodes
elle sert à injecter des instances de services
elle transère la tâche de création d'objet vers le framework
elle sert à injecter du CSS dans le HTML
Q 11 Au sujet de Spring:
il ne peut pas interagir avec Java EE
il permet de faire des architectures MVC
il permet de faire de l'injection de dépendances
il ne permet pas de faire des services REST
Q 12 Javascript, c'est:
une façon de rendre dynamique une page
un langage typé dynamiquement
un dialecte XML
Java mais exécuté par le navigateur
un langage limité au navigateur
un langage compris par le navigateur
y y
y+7/3/34+ y
Q 13 Au sujet de Javascript:
il ne s'exécute que dans le navigateur
c'est un langage fonctionnel
c'est une version dynamique de Java
c'est un langage orienté objet
c'est le seul langage impératif qui s'exécute
dans le navigateur
Q 14 AngularJS est un framework:
il sert à faire des applications mono-page
il permet d'avoir des fonctions avancées sur des vieux navigateurs
il est fait pour faire du MVC dans node.js
il sert à faire de la programmation par aspects
il est modulaire
il sert à faire des application qui s'adaptent à la taille de l'écran
il fonctionne « hors-ligne » (sans serveur)
il ajoute la fonctionnalité AJAX au navigateur
Q 15 Les directives AngularJS:
enrichissent HTML
déclarent des services Javascript
(autre)
permeent un binding bi-directionnel
définissent les dépendances entre modules
enrichissent Javascript
permeent un binding uni-directionnel
Q 16 REST:
signifie Representational state transfer
décrit des RPC (remote procedure call)
est un framework
utilise SOAP (Simple Object Access Protocol)
est une approche architecturale
a été formalisé dans des travaux de recherche
s'articule autour de ressources
Q 17 Au sujet des outils utilisés:
bootstrap permet de simplifier l'utilisation de Spring
node.js permet de faire du Javascript dans un programme Java
Git permet de garder l'historique du projet
Spring boot sert de faire du REST en Spring
Spring MVC permet de faire des contrôleurs en Spring
bower permet d'installer des bibliothèques Javascript
Spring Data remplace JPA
Exercices
Pour les exercices ci dessous, répondez sur une feuille d'examen. Prenez le temps de bien lire
l'énoncé. Le nombre d'étoiles donné entre parenthèse est une indication pour vous donner une idée
du détail de la réponse attendue.
---- Exercice 1 (⋆⋆)------
Donnez et expliquez les différents niveaux de portée des variables dans les JSP.
---- Exercice 2 (⋆⋆)------
y y
y+7/4/33+ y
Expliquez le concept de Hypermedia as the engine of application state (HATEOAS).
---- Exercice 3 (⋆⋆)------
Supposons une application « TP » dans laquelle vous avez implémenté un controlleur pour gérer un
tableau de contrôle accessible à l'URL http://localhost:8080/TP/dashboard. Expliquez les mécan-
ismes qui font que le bon controlleur est appelé quand l'utilisateur consulte l'URL donnée.
---- Exercice 4 (⋆⋆⋆⋆⋆)------
En utilisant une approche « MVC Web », proposez une architecture (quelles classes, jsp, etc, avec leurs
contenus et rôles respectifs) pour une application permeant de gérer une liste de session de rarapage
(avec ajout et suppression), chaque session ayant un titre, une date, un nombre d'étudiant, etc.
---- Exercice 5 (⋆⋆⋆⋆)------
En utilisant un application-exemple de votre choix, établissez un parallèle entre deux architectures:
1. SV: une application Spring/JPA/JSP,
2. NG: une application Spring/REST/AngularJS.
y y
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !