Advertisement
Advertisement

More Related Content

Advertisement

API JSP2 avec Java EE.pdf

  1. API JSP avec Java EE Chapitre 3
  2. Plan de la présentation  Ce quoi JSP  Avantages de l’API JSP  Cycle de vie d’une JSP  Code d’une pae JSP
  3. Ce quoi JSP ?  L’API JSP (Java Server Pages) une technologie qui permet la génération de pages web dynamiques.  La technologie JSP permet de séparer la présentation sous forme de code HTML et les traitements écrits en Java sous la forme de JavaBeans ou de servlets.  Les JSP définissent une syntaxe particulière permettant d'appeler un bean et d'insérer le résultat de son traitement dans la page HTML dynamiquement.
  4. Ce quoi JSP(Java Server Pages)  Les JSP permettent d'introduire du code Java dans des tags prédéfinis à l'intérieur d'une page HTML.  La technologie JSP mélange la puissance de Java côté serveur et la facilité de mise en page du HTML côté client.  Une JSP est habituellement constituée : ◦ de données et de balises HTML ◦ de balises JSP ◦ de scriptlets (code Java intégré à la JSP)  Les fichiers JSP possèdent par convention l'extension .jsp.
  5. Une JSP (Java Server Pages)  C'est un document qui ressemble beaucoup à une page HTML, mais qui en réalité en diffère par plusieurs aspects : ◦ L'extension d'une telle page devient .jsp et non plus .html ; ◦ une telle page peut contenir des balises HTML, mais également des balises JSP qui appellent de manière transparente du code Java ; ◦ Une page JSP est exécutée côté serveur, et génère alors une page renvoyée au client.
  6. Pourquoi l’API JSP ?  La technologie servlet étant difficile d'accès et ne convient pas à la génération du code de présentation.  Le modèle MVC recommande une séparation nette entre le code de contrôle et la présentation.  Le modèle MVC recommande une séparation nette entre le code métier (code java) et la présentation :  Ceci va permettre aux designers de travailler facilement sur la vue, sans avoir à y faire intervenir directement du code Java.
  7. Fontionnalités de JSP  La création de sites Web dynamiques ;  Le travail avec des bases de données ;  L’amélioration de la sécurité .  L’utilisation des JavaBeans (simplicité du code, manipulation d’objets simples...) ;  L’utilisation de balises personnalisées (taglib)  Avec JSP, il est plus aisé de découper le développement d’une application Web : ◦ Le graphiste s’occupe de la partie présentation HTML; ◦ Le développeur s’occupe de la partie logique avec les traitements et l’accès aux données.
  8. Avantages des JSP  L'intérêt est de rendre possible la création de pages web dynamiques.  La génération de la vue sur le serveur, rend possible: ◦ De faire varier l'affichage et ◦ D’interagir avec l'utilisateur, en fonction notamment de la requête et des données reçues.  L'utilisation de Java par les JSP permet une indépendance de la plate-forme d'exécution mais aussi du serveur web utilisé.
  9. Avantages des pages JSP  La séparation des traitements et de la présentation rend possible que : ◦ La page web soit écrite par un designer ◦ Les code Java soient ajoutés ensuite par le développeur.  Des composants réutilisables (Java beans) réalisent les traitements à savoir la génération du contenu web via Servlet.  Une des technologies de la plate-forme Java EE les plus puissantes, simples à utiliser et à mettre en place.  JSP combine à la fois les technologies HTML, XML, servlet et JavaBeans (objet Java) en une seule solution permettant aux développeurs de créer des vues dynamiques.
  10. Avantages d’une page JSP  C’est une technologie offrant les capacités dynamiques des servlets tout en permettant une approche naturelle pour la création de contenu statiques. Ceci est rendu possible par : ◦ Un langage dédié en occurence le JSP; ◦ Elles contiennent des balises qui combinent à la fois simplicité et puissance, via une syntaxe simple, semblable au HTML et donc aisément compréhensible par un humain ; ◦ La simplicité d'accès aux objets Java : des balises du langage rendent l'utilisation directe d'objets au sein d'une page très aisée ; ◦ Des mécanismes permettant l'extension du langage utilisé au sein des pages JSP :
  11. API JSP et Servlets  Du point de vue de la structure, une JSP est très proche d’une page PHP ou bien ASP.  C’est un fichier qui porte l’extension .jsp ou .jspf (pour les fragments de code).  Les JSP sont basées sur les servlets.  La servlet générée est compilée, sauvegardée puis exécutée.  Les appels suivants de la JSP sont beaucoup plus rapides.
  12. Cycle de vie d’une page JSP  Une JSP est composée de texte brut contenant du code HTML et du code Java.  Lors du premier appel, la page JSP est traduite en une Servlet Java par l’intermédiaire du parseur JSP contenu dans le serveur Java EE.
  13. Cycle de vie d’une page JSP
  14. Cycle de vie d’une page JSP
  15. Phases de cycle d’une JSP  Initialisation : la page JSP est initialisée selon le principe d’une Servlet.  Chargement et instanciation : le serveur localise la classe Java correspondant à la page JSP et la charge dans la machine virtuelle.  Traitement des requêtes clients : la page répond aux requêtes des clients. Aucun code Java n’est envoyé aux clients.  Fin du cycle : toutes les requêtes sont traitées et terminées, les instances de la classe sont détruites.
  16. Code d’une page JSP  Une page JSP porte l’extension .jsp et doit être accessible avec un navigateur web dans l’arborescence du serveur Java EE.  Les pages sont placées dans le répertoire de l’application (webapp) à partir de la racine ou dans un répertoire spécifique (/jsp, /vues, /vues/articles/...).  Les pages JSP sont conçues pour avoir un comportement dynamique et sont chargées de répondre aux requêtes envoyées par les clients.  C’est le code Java inséré dans le code HTML qui permet ce comportement dynamique.
  17. Eléments de code d’une JSP  La spécification JSP définit des balises qui peuvent être employées pour délimiter le code. Ces balises permettent de définir trois catégories d’éléments :  Les directives : informations sur la page.  Les scripts : placement du code dans la page.  Les actions : inclusion de code basé sur des balises dans la page courante.
  18. Elements de code: directives  Ce sont des éléments qui permettent de préciser des informations relatives à la page.  Elles sont parfois appelées directives de moteur JSP.  Elles fournissent des instructions et des paramètres qui déterminent la façon dont une page JSP est traitée.  Il existe les trois directives suivantes : page, include et taglib.  Les directives JSP commencent par <%@, et se termine par %>.  Chaque directive a des attributs auxquels peuvent être affectées des valeurs spécifiques.
  19. Code JSP: Directive page  L’élément directive page permet de définir les attributs de la page JSP, comme les importations de classes ou paquetages, la page invoquée en cas d’erreur, le type de contenu...etc.  La directive page peut être définie plusieurs fois dans un même document. <%@ page langage="java" pageEncoding="UTF-8"%>.
  20. Directive include et taglib  La directive include est utilisé pour inclure d’autres fichiers dans la page jsp. Exemple : <%@ include file="erreur.html" %>.  Le dernier type de directive JSP est l’utilisation de librairies externes personnalisées, par le biais de la directive taglib.  Chaque page JSP compilée est transformée en une Servlet placée dans le répertoire /work/org/apache/jsp.
  21. Les scripts d’une page JSP Les scripts sont des éléments qui permettent de placer le code Java dans les pages JSP. Il existe trois types de scripts :  Les déclarations : pour déclarer et/ou initialiser une variable.  Les scriptlets : pour contenir les instructions Java.  Les expressions : pour renvoyer des informations aux utilisateurs.
  22. Les scripts : les déclarations  Elle est employée pour introduire et/ou initialiser une variable ou une méthode Java.  Elle permet de définir un bloc pour les variables globales ainsi que pour des méthodes.  Pour créer une déclaration, il faut placer le code entre le délimiteur d’ouverture <%! et le delimiteur de fermeture %>.  Elles peuvent être placées à n’importe quel endroit dans une page JSP, mais il est préférable de les placer en début de fichier.
  23. les déclarations (méthodes)
  24. Les déclarations (variables)  Toute les variables ainsi déclarées deviennent des attributs et sont donc accessibles dans toute la page.
  25. Les scriptlets d’une page JSP  Les scriptlets contiennent des instructions Java.  C’est un bloc de code incorporé dans une page jsp.  Le code écrit dans une scriptlet est en Java.  Le code d’une scriptlet est placé entre le délimiteur d’ouverture <% et le delimiteur de fermeture %>.
  26. Les scriptlets d’une page JSP  Dans une scriptlet, l’objet out peut être utilisé avec la méthode print (ou println) pour générer du contenu texte à destination du client.  Ces instructions apparaissent dans le code Java produit lors de la traduction des pages JSP (sous forme de servlet), mais pas dans les réponses envoyées au client.  Les scriptlets ne sont pas prévu pour définir des méthodes ou des variables globales.
  27. Scriptlets vs déclarations  Les scriptlets ne peuvent être employées pour définir des méthodes.  Les variables déclarées dans une déclaration sont des attributs.  Les variables déclarées dans une scriptlet sont des variables locales et ne sont donc visibles qu’à l’intérieur de la scriptlet dans laquelle elles sont définies.
  28. Objets d’une scriptlet Voici la liste des objets accessibles implicitement depuis toute scriptlet :
  29. Scriptlets: exemple
  30. Les expressions avec JSP  Les expressions sont utilisées pour renvoyer au client les valeurs d’expressions Java.  Elles permettent de générer un affichage sur une page JSP.  La scriptlet <% out.println(exp);%> peut être remplacée par l’expression <%= exp %>.  Elle ne peut pas s’achever par un point virgule.
  31. Les expressions : exemple
  32. Les commentaires avec JSP  L’ajout de commentaires permet de clarifier le code HTML et JSP.  Commentaires HTML dans les pages JSP. Ces commentaires apparaissent dans la page renvoyée au navigateur client : <!-- HTML comment -->.  Commentaire JSP à l’aide des balises <%-- JSP comment --%>.  Commentaire Java (qui peut être utilisé dans les scriplets): monoligne // et multiligne /*....*/.
  33. Les commentaires: exemple
  34. Les actions dans une JSP  Elles sont écrites sous la forme d’éléments XML et permettent de condenser en une seule ligne un traitement qui serait plus long à écrire à l’aide d’un script Java.  Il existe deux types d’actions : ◦ Les actions standards. ◦ Les actions personnalisées.
  35. Les actions standards avec JSP  Elles sont définies par la spécification JSP (d’où le nom standard).  Ce sont les actions de base, accessibles à toutes les pages JSP, car définies dans l’API Java EE.  Les éléments XML correspondant, commencent tous par le préfixe jsp.  Ils existent plusieurs actions standards comme <jsp:useBean>.
  36. <jsp:useBean>: avec page JSP  Ces types d’actions permettent de créer ou d’importer un JavaBean dans la page et de le manipuler.  L’action <jsp:useBean../> possède plusieurs attributs mais trois sont essentiels (id,class et scope).  Sa syntaxe est : <jsp: useBean id = "unique_name_for_Bean" class = "package_name.class_name" scope= " session" /> ◦ L’attribut id permet de donner un nom à la variable qui va contenir la référence sur le bean. C’est le nom utilisé pour accéder au JavaBean dans le reste de la page, il doit être unique.
  37. <jsp: useBean id = "unique_name" class = "package_name.class_name" scope= " session" />  L’élément class est le nom pleinement qualifié de la classe du JavaBean.  L’élément scope indique la portée de l’utilisation du JavaBean, ses valeurs possibles sont : ◦ page : pour les attributs de portée page (defaut). ◦ request : pour les attributs de portée requête. ◦ session : pour les attributs de portée session. ◦ application : pour les attributs de portée application. <jsp:useBean>: avec page JSP
  38. <jsp:useBean>: exemple
  39. <jsp:getProperty> avec JSP  Avec l’utilisation d’un bean au sein d'une page, il est possible par le biais de cette action d'obtenir la valeur d'une de ses propriétés avec getProperty.  Deux attributs sont utiles ici : ◦ name : contient le nom réel du bean, en l'occurrence l'id que l'on a saisi auparavant dans la balise de récupération du bean ; ◦ property : contient le nom de la propriété dont on souhaite afficher le contenu.
  40.  Il est possible de modifier une propriété du bean utilisé. Il existe pour cela quatre façons de faire via l'action standard dédiée à cette tâche setProperty: <jsp:setProperty> avec JSP
  41. <jsp:setProperty> avec JSP
Advertisement