1 / 16

JEE Approfondi

Frameworks : Maverick (MVC) JiBX (Persistance XML) Boutin Benoit, Jean Simon, Luit Dimitri. JEE Approfondi. Maverick. Avantages : Simple à utiliser (1 seul fichier xml pour gérer les vues et les commandes) Permet d'utiliser des technologies de transformation. Maverick. Inconvénients :

kiet
Download Presentation

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. Frameworks : Maverick (MVC) JiBX (Persistance XML) Boutin Benoit, Jean Simon, Luit Dimitri JEE Approfondi

  2. Maverick • Avantages : • Simple à utiliser (1 seul fichier xml pour gérer les vues et les commandes) • Permet d'utiliser des technologies de transformation

  3. Maverick • Inconvénients : • Abandonné depuis plusieurs années par les développeurs • Peu de ressources sur Internet • Pas de « vrai » tutorial • Pas de gestion complexe des vues et des controleurs • Compatibilité

  4. Fichier web.xml : <servlet> <display-name>Maverick Dispatcher</display-name> <servlet-name>dispatcher</servlet-name> <servlet-lass> org.infohazard.maverick.Dispatcher </servlet-class> <init-param> <!-- Optionnel --> <param-name>reloadCommand</param-name> <param-value>reload</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.m</url-pattern> </servlet-mapping> Mise en place de Maverick

  5. Fichier maverick.xml : <?xmlversion="1.0"encoding="UTF-8"?> <maverickversion="2.0"default-view-type="document"default-transform-type="document"> <views> <viewid="test"path="test.jsp"/> <viewid="test2"path="test2.jsp"/> </views> <commands> <commandname="identifier"> <controllerclass="controller.IdentificationController"/> <viewname="utilisateur"path="accueil.jsp"> <transformpath="generalInterieur.jsp"/> </view> <viewname="administrateur"path="accueilAdmin.jsp"> <transformpath="adminInterieur.jsp"/> </view> <viewname="error"path="erreur.jsp"> <transformpath="generalExterieur.jsp"/> </view> </command> </commands> Mise en place de Maverick

  6. Mise en place de Maverick • Ajouter maverick.jar dans lib de WEB-INF. • Ajouter jdom.jar dans lib de WEB-INF. • Ajouter commons-logging-1.0.3 dans lib de WEB-INF. • Ajouter maverick.xml dans WEB-INF.

  7. Avant d'utiliser Maverick • L'objet Dispatcher gère les appels aux commandes • Pour utiliser une commande, il faut la suffixer avec .m • Pour les transformations de jsp. Si l'on utilise la directive : • <c:outvalue="${wrapped}" escapeXml="false"/>. • Modifier la valeur de version dans web.xml à la valeur 2.3. Sinon erreur du fichier tld. • Selon les utilisations, il peut être necessaire d'utiliser les jar suivants : commons-logging-1.0.3.jar, jdom.jar commons-beanutils.jar, commons-collections.jar.

  8. JiBX • Avantages • Permet de passer du java au xml et inversement facilement une fois installé • Performant • Documentation suffisante

  9. JiBX • Inconvénients • Difficultés d'installation • Modification des classes implique de refaire le binding.

  10. JiBX • Fonctionnement en 2 phases : • Binding : • Génération des fichiers .java et du fichier binding.xml à partir d'un schéma xml. • Runtime : • Instanciation des objets Java à partir d'un fichier xml. • Création d'un fichier xml à partir des informations des objets Java.

  11. Mise en place de JiBX • Plugin Eclipse (difficulté à comprendre l'utilisation) • Utilisation de JiBX depuis le zip téléchargé

  12. Mise en place de JiBX • Créer un fichier xsd. • Commande • java -cp jibx-tools.jar org.jibx.schema.codegen.CodeGen fichier.xsd crée les classes Java et binding.xml • javac *.java compile les classes générées. • java -jar jibx-bind.jar binding.xml crée les .class nécessaire au fonctionnement de JiBX en Runtime. • On peut maintenant utiliser le Runtime.

  13. public class Person { public int customerNumber; public String firstName; public String lastName; } Mise en place de JiBX • public class Customer { • public Person person; • public String street; • public String city; • public String state; • public Integer zip; • public String phone; • }

  14. Mise en place de JiBX • Binding.xml : • <?xml version="1.0" encoding="UTF-8"?> • <binding> • <mapping name="customer" class="Customer"> • <structure name="person" field="person"> • <value name="cust-num" field="customerNumber"/> • <value name="first-name" field="firstName" /> • <value name="last-name" field="lastName" /> • </structure> • <value name="street" field="street" /> • <value name="city" field="city" /> • <value name="state" field="state" /> • <value name="zip" field="zip" /> • <value name="phone" field="phone" /> • </mapping> • </binding>

  15. Mise en place de JiBX • Fichier utilisé au lancement : • <?xml version="1.0" encoding="UTF-8"?> • <customer> • <person> • <cust-num>123456789</cust-num> • <first-name>John</first-name> • <last-name>Smith</last-name> • </person> • <street>12345 Happy Lane</street> • <city>Plunk</city> • <state>WA</state> • <zip>98059</zip> • <phone>888.555.1234</phone> • </customer>

  16. Avant d'utiliser JiBX • Sans le plugin Eclipse : peu pratique. • Erreurs particulières : • Cannot cast from java.util.List<Utilisateur> to java.util.List<Utilisateur> • Obliger de passer par un objet intermédiaire. • Constaté lors de l'utilisation d'ArrayList.

More Related