Arheu ! Arheu ! avec ...
Java Server Faces
et
Hibernate
Version Date Commentaire Auteur
1.0 30/06/04 Initialisation JL Pasturel
1.1
30/06/04
Corrections mineures schémas ( Business
Delegade / Façade)
JL Pasturel
Avertissement : Ce tutoriel est donné dans l'état. Il est possible que ce
document comporte des erreurs. Vous voudriez bien les signaler à son
auteur :
Jean-louis.pasturel@wanadoo.fr
Ce document est libre de droit et peut être recopié , modifié ... Un retour
d'informations m'intéresserait.
Table des matières
1.PREAMBULE..................................................................................................4
1.1.AVERTISSEMENT............................................ ........................................4
1.2.PRE-REQUIS......................................... ...................................................4
1.2.1.Connaissances :.................................................................................4
1.2.2.Logiciels............................................................................................4
1.2.3.Operating System utilisé et organisation des répertoires.................4
2.ARCHITECTURE LOGICIELLE.......................................... .............................6
2.1.SCHEMA DE L'ARCHITECTURE LOGICIELLE.......................................6
2.2.DESCRIPTION DE L'APPLICATION.......................................... ...............6
3.CONSTRUCTION DE L'APPLICATION...........................................................7
3.1.MECANISME DE CONSTRUCTION ........................................................7
3.2.PARTIE DATABASE.................................................... ..............................7
3.3.PARTIE HIBERNATE...............................................................................8
3.3.1.Qu'est-ce que HIBERNATE ?.............................................................8
3.3.2.Installation du produit Hibernate........................................ ..............8
3.3.3.Un exemple pour voir !........................................ ..............................9
3.3.3.1.La classe POJO POJOUtilisateur1 :.............................................9
3.3.3.2.Mettre à jour hibernate.properties...........................................10
3.3.3.3.Il faut écrire le fichier XML de mapping 0/R. ..........................10
3.3.3.4.Client pour jouer avec POJOUtilisateur1..................................11
3.3.3.5.Analyse du code........................................................................13
3.3.3.6.Jouons un peu plus avec notre POJOUtilisateur1......................13
3.3.3.7.Récapitulation des opérations ( cas manuel / sans ide )...........15
3.3.3.8.Un peu d'information sur l'aspect non threadsafe de la Session:.
16
3.3.4.Un exemple un peu plus complexe..................................................17
3.3.4.1.Rappel sur les Collections en Java et utilisation dans Hibernate .
18
3.3.4.2.Stratégie de création des tables de type « table per class
hierarchy »...........................................................................................18
3.3.4.3.Stratégie de création des tables de type « table per sub-class
hierarchy »...........................................................................................19
3.3.4.4.Stratégie de création des tables de type « table per concrete
class>...................................................................................................21
3.3.4.5.Les POJO utilisés dans notre exemple......................................21
3.3.4.6.Les fichiers de mapping .hbm.xml correspondant....................25
3.3.4.7.Génération du script de création de la base( Outil
SchemaExport) ....................................................................................28
3.3.4.8.Création de la database à l'ide du script ddl généré ...............29
3.3.4.9.Ecriture des classes ( Facade et Client) d'utilisation des POJOs .
31
3.3.4.10.Premier test basique : création de Personnes à travers les sous
classes Externe et Employe .................................................................31
3.3.4.11.Creation de Users...................................................................34
3.3.4.12.Création de rôles et associations avec des utilisateurs .........38
3.3.4.13.Puissance de la clause de cascade..........................................48
3.3.5. HQL et APICriteria.........................................................................57
3.3.5.1.Traitons d'abord le cas d'utilisation HQL :...............................57
3.3.5.2.Traitement avec l'APICriteria...................................................61
3.3.6. Pour aller plus loin avec Hibernate................................................64
3.4. Partie Java Server Faces.......................................................................66
3.4.1. Exemple simplifié...........................................................................66
3.4.1.1.Mise en place de Hibernate et des Java Server Faces dans le
bundle Jonas4-Tomcat5........................................................................67
3.4.1.2. Adaptation du package la classe POJOUtilisateur..................69
3.4.1.3. Navigation simpliste de l'application.......................................69
3.4.1.4. Les fichiers composant la partie présentation de la web
application ............................................... ............................................70
3.4.1.5. Les fichiers constituant la partie métier de la web applications .
75
4. L'APPLICATION EN IMAGE........................................................................80
4.1.Construction de l'application.................................................................80
4.2.Déploiement de l'application dans Jonas...............................................83
4.3. Utilisation de l'application....................................................................86
1.PREAMBULE
1.1.AVERTISSEMENT
Les premiers mots d'un bébé quand il essaye de parler sont souvent « arheu ! Arheu ! ». C'est
un peu dans cet esprit que j'écris ce tutoriel.
Les technologies étudiés dans ce tutoriel sont les JSF et Hibernate.
Ce document est écrit au fur et à mesure que je prends connaissance de cette technologie.
Pour la partie Hibernate que j'étudierai en premier, je m'appuie sur la documentation de
référenceHibernate, les forums Hibernate et quelques tutoriels référencés sur le site :
http://www.hibernate.org
Pour la partie Java Server Faces ( JSF), je m'appuie évidemment fortement sur le tutoriel J2EE à
regarder ensuite pour approfondir vos connaissances avec cette technologie.
http://java.sun.com/j2ee/1.4/docs/index.html#tutorials
1.2.PRE-REQUIS
1.2.1.Connaissances :
Connaître les technologies servlet et JSP/sevlet de J2EE ( voir document pointé par l'URL
de sun ci-dessus). Une connaissance minimale des architectures des serveurs web et container
de servlet est nécessaire pour la suite.
1.2.2.Logiciels
La norme et l'implémentation de référence pour les Java Server Faces nécessitent
d'avoir un container de servlet au niveau de la norme servlet 2.3 ou 2.4. Nous allons prendre
la norme servlet 2.4 qui est supporté par Tomcat V5.x ( ainsi que JSP V2.0). Pour cela, il faut
installer une version de TomcatV5.Nous allons utiliser le bundle Jonas4 Tomcat5 pour le
mécanisme de déploiement convivial fournit par Jonas.
Pour télécharger Jonas, aller à l'URL :
http://forge.objectweb.org/project/showfiles.php?group_id=5
L'installation du bundle et le paramétrage le paramétrage ne sont pas décrits dans ce
document, se référer à l'excellente documentation fournie avec Jonas.
Il faut aussi télécharger l'implémentation de référence de JSF 1.0. On va éviter de télécharger
l'ensemble du J2EE, Sun met à disposition une implémentation « standalone » à l'URL
suivante :
http://java.sun.com/j2ee/javaserverfaces/download.html
et choisir dans la page le dowload de l'implémentation de référence :
JavaServer Faces v1.1 Reference Implementation
Pour les besoins de stockage des données nous utiliserons sur Linux une base
Postgres en version 7.4. ( Il existe sous windows une version équivalente avec le bundle
cygwin ).
Pour postgres voir le site : http://www.postgresql.org pour le téléchargement et l'installation
de la base
Pour l'accès à la base de donnée et la gestion de la persistance, j'utiliserai le logiciel de
Mapping O/R et de gestion de la persistance Hibernate V 2.1.3
1.2.3.Operating System utilisé et organisation des
répertoires
Tout ce qui est décrit par la suite, est fait sur un poste équipé de LINUX V2.4.x et d'une
machine virtuelle Java 1.4.2. Comme Tomcat et Hibernate sont full java, il n'y aura pas
( beaucoup ) de difficulté à faire l'extrapolation pour Windows.
Le jdk 1.4.2 est situé sous /usr/local/jdk142
L'implémentation de référence JSF sera installée à part sous /opt/jsf-1_1 et nous servira de
répertoire de développement de notre applicatif pour la partie jsf.
Le bundle Jonas4 / Tomcat5 est installé sous le répertoire /opt/JONAS_4_0_0
1 / 88 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 !