Upload
guido
View
29
Download
0
Embed Size (px)
DESCRIPTION
Présentation du projet JEE Approfondi. Struts v1 – Xstream BENARD Thomas CAROFF Brice LETEL Quentin NORET Nicolas ROCHER Christian. Organisation. Recherche sur les frameworks (déploiement et mise en application) Elaboration de la structure de la base de données - PowerPoint PPT Presentation
Citation preview
Présentation du projetJEE Approfondi
Struts v1 – Xstream
BENARD ThomasCAROFF BriceLETEL QuentinNORET NicolasROCHER Christian
Organisation Recherche sur les frameworks (déploiement et mise en
application) Elaboration de la structure de la base de données Développement de l’interface de gestion de la base de
données Réalisation des JSP (scriptlets puis JSTL/EL) Phases de tests/débogage Développement et intégration du design Intégration de tags supplémentaires Réalisation du jeu d’essai Rédaction du rapport final et de la présentation
Répartition des tâches
Struts BDD Débogage Design Rapport
Thomas Brice Quentin Nicolas Christian
Problèmes rencontrés Encodage des fichiers XML Remplacement des scriptlets par des JSTL/EL (mauvaise
séparation vue-contrôleur) Inclusion des fichiers de données dans le projet,
configuration de l’objet Application Concaténation de plusieurs vues pour limiter le nombre des
JSP ; multiplication et complexification des tests de contrôle sur les requêtes
Problème d’actualisation des pages lors d’une modification manuelle de l’url
Struts v1
http://mir2.ovh.net/ftp.apache.org/dist/struts/binaries/struts-1.3.10-all.zip
Installation Importation d’un projet videou Mise en place de l’arborescence Importation des bibliothèques Configuration des fichiers web.xml et
struts-config.xml
UtilisationUn unique Servlet intercepte les requêtes de
l’utilisateur (.do) et passe la main aux classes appropriées :
Redirection vers une JSP sans traitement Redirection avec traitement Validation d’un formulaire puis redirection avec
traitementUtilisation des taglibs de Struts (pertinence ?)
ConclusionsAvantages : Performant pour les gros projets (extensibilité, maintenance) Structuration univoque grâce aux Design Patterns
Inconvénients : Multiplication des classes de validation/traitement : Vérification des données du formulaire Traitement des données, requêtes en base de données Génération de la page HTMLAlternative : Génération de scripts Javascript via validation.xml
XStream
http://repository.codehaus.org/com/thoughtworks/xstream/xstream-distribution/1.3.1/xstream-distribution-1.3.1-bin.zip
Installation & Utilisation Un seul fichier à importer
Une classe (XStream) Deux méthodes :
• toXML(..) pour sérialiser• fromXML(..) pour dé-sérialiser
Conversions poussées (annotations et alias)
Conclusions Avantages :
• Facile à installer et à utiliser• Génération d’arbres lisibles• Aucune modification du code n’est nécessaire• Rapide et économe en ressources• Pas de mapping• Compatible JSON
Inconvénient :• Impossible de faire de la persistance via SGBD
Forum JEE
http://khan.net.free.fr/ProjetJEE_App_final.war
/users
listUser.xml
/user1 /user2 …
user1.xml
listPost.xml
/forum
listCat.xml
/cat1 /cat2 …
Cat1.xml
listForum
.xml/forum1
/topic1Forum1.xml
listTopic.xml
Topic1.xml
Use Cases Simple utilisateur :
• S’identifier (login et mot de passe) ou s’inscrire• Se déconnecter du site• Consulter et éditer son profil (changement de mot
de passe, de signature et d’avatar uniquement)• Consulter une catégorie, un forum ou un topic• Créer un topic dans un forum déjà existant• Poster un message dans un topic• Editer ou supprimer un de ses posts• Consulter tous ses posts d’un coup
Use Cases Administrateur :
• Tous les Use Cases d’un simple utilisateur• Créer, éditer ou supprimer une catégorie, un forum, un topic
ou un post• Créer un nouvel utilisateur et lui donner le statut
d’administrateur• Supprimer un utilisateur (sauf lui-même et le super-
administrateur)• Modifier le profil d’un utilisateur (sauf l’id, la date d’inscription
et de dernière connexion) mais ne peut retirer les droits d’administrateur au super-administrateur
• Consulter la liste des posts de n’importe quel utilisateur
Particularités du forum (1/2)
Les requêtes sont très sécurisées. Des vérifications sont effectuées lors de l’affichage d’une page, lors de l’interception d’une requête et lors de l’exécution d’une commande dans la base de données
On essaie dans la plupart des cas d’informer l’utilisateur d’une erreur qu’il aurait commise
Quand c’est possible, les classes de traitement essaient de corriger les url erronées et redirigent, dans le cas contraire, vers la page d’erreur
Protection de la section d’administration (pages et actions) Protection de la base de données contre un accès direct
Particularités du forum (2/2)
Un script Javascript demande confirmation à l’utilisateur lorsque celui-ci effectue une suppression
L’utilisateur peut inclure certaines balises HTML dans ses posts via transformation BBCode (gras, italique, souligné, images et liens)
La suppression de l’unique post d’un topic entraine la suppression du topic
Les topics dans lesquels on a posté ou édité un message remontent dans la liste des topics du forum
L’affichage d’une liste de posts ou de topics est étalé sur plusieurs pages
FinPrésentation : http://khan.net.free.fr/presentation_jee.pptx
Rapport : http://khan.net.free.fr/index.htmlStruts : http://khan.net.free.fr/struts.htmlXstream : http://khan.net.free.fr/xstream.html
Projet : http://khan.net.free.fr/ProjetJEE_App_final.war