1 / 18

Présentation du projet JEE Approfondi

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

guido
Download Presentation

Présentation du projet JEE Approfondi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Présentation du projetJEE Approfondi Struts v1 – Xstream BENARD Thomas CAROFF Brice LETEL Quentin NORET Nicolas ROCHER Christian

  2. 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

  3. Répartition des tâches

  4. 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

  5. Struts v1 http://mir2.ovh.net/ftp.apache.org/dist/struts/binaries/struts-1.3.10-all.zip

  6. Installation Importation d’un projet vide ou Mise en place de l’arborescence Importation des bibliothèques Configuration des fichiers web.xml et struts-config.xml

  7. Utilisation Un 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 traitement Utilisation des taglibs de Struts (pertinence ?)

  8. Conclusions Avantages : 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 HTML Alternative : Génération de scripts Javascript via validation.xml

  9. XStream http://repository.codehaus.org/com/thoughtworks/xstream/xstream-distribution/1.3.1/xstream-distribution-1.3.1-bin.zip

  10. 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)

  11. 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

  12. Forum JEE http://khan.net.free.fr/ProjetJEE_App_final.war

  13. /forum /users listCat .xml /cat1 /cat2 … listUser.xml /user1 /user2 … Cat1 .xml /forum1 listForum .xml Forum1.xml listTopic .xml /topic1 user1 .xml listPost .xml Topic1 .xml

  14. 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

  15. 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

  16. 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

  17. 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

  18. Fin Présentation : http://khan.net.free.fr/presentation_jee.pptx Rapport : http://khan.net.free.fr/index.html Struts : http://khan.net.free.fr/struts.html Xstream : http://khan.net.free.fr/xstream.html Projet : http://khan.net.free.fr/ProjetJEE_App_final.war

More Related