Java EE : TP 10.02 et 12.02

Testez obligatoirement vos projets anciens sous GlassFish. Si vous insistez à vous occuper uniquement de vos devoirs obligatoires, et vous négligez les exercices "gymnastique", vous serez moins performants, et dans ces circonstances je vous "forcerai la main" : je demande à ce que votre devoir obligatoire marche sous Tomcat ET sous GlassFish. Tomcat n'est pas un serveur Java EE complet, et son successeur TomEE n'a pas encore convaincu les acteurs sur cette scène...


Exercice 0.

Je reprends l'exercice proposé la semaine dernière, mais je modifie et je précise les détails. Peut-être pas de fiches personnelles, elles sont ennuyeuses... Imaginons la gestion de cartes géographiques. Le squelette d'une carte est un "record" (bean de classe "Carte" si vous insistez) qui contient les champs suivants :

Demandez à Netbeans l'ajout du code qui créé les getters / setters, les constructeurs, toString, et le prédicat d'égalité.

Faites une simpliste application Web, où le client remplit une ou plusieurs fois un formulaire avec ces données, et l'application côté serveur construit les instances de la classe correspondante. Vous ne devez pas passer les paramètres de manière traditionnelle, mais utiliser Java Beans, (<jsp:useBean ... >). Le champ id n'est pas fourni par le client, mais le programme lui affecte les nombres séquentiels croissants : 1, 2, etc. Ensuite votre application formate et affiche vos instances de cartes (qui peuvent être des beans, mais ce ne sont pas les beans utilisés pour la transmission de paramètres).

Ensuite - c'est de la "gymnastique" qui vous est déjà connue, de toute façon c'est une partie de votre devoir obligatoire actuel - stockez ces instances dans une petite base de données.

Exercice 1.

On passe au vrai exercice, sur la réflexion Java... Inventez et codez une annotation à vous, très simple, un marqueur, sans paramètres. Je l'appelle symboliquement "XXX", mais utilisez un nom plus significatif. Préfixez avec cette annotation tous les champs entiers (et rien d'autre) de votre classe "Carte".

Dans le module qui contient la classe "Carte", ou dans un autre, mais où cette classe est visible -

Attention, grâce à vous (mercredi matin) je viens d'apprendre une chose que j'aurais dû savoir, désolé... Je vis dans Jurassic Park. Selon la spécification de Java, si vous ne définissez AUCUN constructeur d'une classe, javac vous fait un cadeau, et ajoute un constructeur par défaut. Mais si vous en faites un, "standard", qui remplit les champs, le constructeur par défaut n'est pas ajouté, et la gestion automatique de cette classe utilisée comme bean, engendre des erreurs. Enfants! Faites attention aux baobabs !


Exercice 2. JSF

Veuillez m'en excuser, mais cet exercice est piqué sur l'Internet ; je trouve que la documentation officielle de NetBeans offre un exercice en principe raisonnable... On travaillera avec Java Server Faces. Voir aussi cette page.

Concrètement, vous allez travailler sur, comprendre et compléter le projet jsfDemo, accessible depuis le site de NetBeans, mais stocké localement. Le projet complet, pour comparer avec le vôtre, jsfDemoCompleted se trouve également dans mes ressources. Mais d'abord un peu de travail préparatoire, de reconnaissance, sans objectif final.


Solutions (peut-être).

Retour
Semaine suivante