La plate-forme J2EE - LPRO CMSII by usr10478

VIEWS: 94 PAGES: 71

									                         La plate-forme J2EE
                                LPRO CMSII


                               Olivier Flauzac




                         olivier.flauzac@univ-reims.fr




Olivier Flauzac (URCA)           La plate-forme J2EE    olivier.flauzac@univ-reims.fr   1 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   2 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   3 / 71
J2SE



Standard Edition
    élément de base
    vaste API
    quelques services
           RMI
           JDBC
           Corba
    pour les postes client ou les application réseau légère
    permet le développement de client lourds




   Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   4 / 71
J2ME


Micro Edition
    Java allégé
    possibilité de supprimer des composants non utilisés
    mise en place de composants de configuration spécifique
    gestion native de la plate-forme
    terminaux portables
           téléphones
           PDA
    versions spécifiques en fonction des besoins :
           liaison sans fil (WIFI, Bluetooth)
           gestion de l’énergie




   Olivier Flauzac (URCA)         La plate-forme J2EE   olivier.flauzac@univ-reims.fr   5 / 71
J2EE




Entreprise Edition
    API spécifique d’entreprise
    serveur d’application
    gestion de l’intégration




   Olivier Flauzac (URCA)      La plate-forme J2EE   olivier.flauzac@univ-reims.fr   6 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   7 / 71
Architecture



Différentes architectures
    définition de la localisation des traitements
    définition de la localisation des données
    définition de la localisation résultats

Impact
    performance de l’application
    gestion des différents éléments
    déploiement et maintenance de l’application




   Olivier Flauzac (URCA)     La plate-forme J2EE   olivier.flauzac@univ-reims.fr   8 / 71
Architecture à 2 niveaux



Deux acteurs
    client : gestion du traitement
    serveur : gestion des données

Problèmes
    maintenance complexe
    performances dépendantes de la puissance du client




   Olivier Flauzac (URCA)     La plate-forme J2EE   olivier.flauzac@univ-reims.fr   9 / 71
Architecture à 3 niveaux

Acteurs
    présentation : interface utilisateur
    métier : logique métier (applicative)
    données : BdD , XML , LDAP ...

Avantages
    facile à déployer
    code applicatif modifiable indépendamment
    puissance déléguée à la couche métier

Inconvénient
    évolution difficile
    composants de grande taille

   Olivier Flauzac (URCA)      La plate-forme J2EE   olivier.flauzac@univ-reims.fr   10 / 71
Architecture à 3 niveaux




   Olivier Flauzac (URCA)   La plate-forme J2EE   olivier.flauzac@univ-reims.fr   11 / 71
Architecture à multi-niveau


Acteurs
    interface utilisateur : interactions entre l’utilisateur et l’application
    logique de présentation : mise en forme des affichages, mise en
    forme du traitement des requêtes
    logique métier : code spécifique à l’entreprise
    service d’infrastructure : fonctionnalités spécifiques (transaction,
    connexion ...)
    données

                               Modèle J2EE




   Olivier Flauzac (URCA)       La plate-forme J2EE   olivier.flauzac@univ-reims.fr   12 / 71
Architecture multi-niveau




   Olivier Flauzac (URCA)   La plate-forme J2EE   olivier.flauzac@univ-reims.fr   13 / 71
Architecture multi-niveau




   Olivier Flauzac (URCA)   La plate-forme J2EE   olivier.flauzac@univ-reims.fr   14 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   15 / 71
La plate-forme J2EE



Principe
    norme de spécification
           d’infrastructure
           de gestion d’applications
           d’API

Environnement J2EE
    infrastructure d’exécution
    ensemble de services accessibles




   Olivier Flauzac (URCA)        La plate-forme J2EE   olivier.flauzac@univ-reims.fr   16 / 71
API J2EE


JNDI
    Java Naming and Directory Interface
    API d’accès uniforme aux services d’annuaire et de nommage
    localisation et exploitation de ressources diverses
    CORBA, RMI, NIS, LDAP, DNS

Authentification
    service unifié d’authetification
    mise en place hiérarchique :
           utilisateur
           domaine
           groupe



   Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   17 / 71
API J2EE



JDBC
    Java Database Connectivity
    API d’accès aux bases de données

Servlet
    composant serveur
    mise en place de l’architecture client / serveur
    remplace les script CGI




   Olivier Flauzac (URCA)     La plate-forme J2EE   olivier.flauzac@univ-reims.fr   18 / 71
API J2EE

JSP
   Java Server Page
   extension des CGI
   génération de pages WEB dynamiques
   intégration de logique métier dans du HTML à l’aide de XML ou de
   scriptlets
   concurent de ASP et PHP

JMS
   Java Messaging Service
   API et infrastruture
   implémentation du modèle à messages


  Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   19 / 71
API J2EE


JTA
      Java Transaction API
      interface standard entre le gestionnaire de transaction et les
      acteurs (application, gestionnaire de ressources, serveur)

EJB
      Entrepise Java Beans
      composant fournissant des services
      accessible au travers d’interface
      hébergé dans un environnemnet d’exécution spécifique




  Olivier Flauzac (URCA)        La plate-forme J2EE   olivier.flauzac@univ-reims.fr   20 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   21 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   22 / 71
Une plate-forme


Plate-forme d’exécution
    base générique fournissant un ensemble de services élémentaires
    définition de la plate-forme en fonction des services recherché
    environnement d’exécution
    API standardisée
    extensibilité des API

J2EE
    API
    serveurs d’application
    services



   Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   23 / 71
Serveur d’application


Généralités
    environnement d’exécution des applications
    gestion de la concurrence
           n client accédant à 1 même application

Quelques serveurs
    SUN AppServers
    Tomcat
    WebSphere
    BEA WebLogic
    ...



   Olivier Flauzac (URCA)       La plate-forme J2EE   olivier.flauzac@univ-reims.fr   24 / 71
Rôles du Serveur d’application


Session
    gestion de la session utilisateur
    mise en place de contextes particulier par client
    gestion des contextes clients pour une même application exploitée
    par plusieurs clients

Montée en charge
    déploiement parallèle / distribué
    équilibrage de la charge
    reverse proxy




   Olivier Flauzac (URCA)      La plate-forme J2EE   olivier.flauzac@univ-reims.fr   25 / 71
Rôles du Serveur d’application (suite)


Reprise sur erreur
    stratégie de reprise sur faute
    gestion des données
    gestion des transactions

Connexion aux sources de données
    persistance
    polling de connexion
    gestion de connexions multiples
    gestion des lots de requêtes



   Olivier Flauzac (URCA)      La plate-forme J2EE   olivier.flauzac@univ-reims.fr   26 / 71
Architecture 1.4




   Olivier Flauzac (URCA)   La plate-forme J2EE   olivier.flauzac@univ-reims.fr   27 / 71
Architecture 1.5




   Olivier Flauzac (URCA)   La plate-forme J2EE   olivier.flauzac@univ-reims.fr   28 / 71
Interopérabilité




   Olivier Flauzac (URCA)   La plate-forme J2EE   olivier.flauzac@univ-reims.fr   29 / 71
Architecture de la plate-forme




Hiérarchisation des outils
    composants
    services d’infrastructures
    services de communications




   Olivier Flauzac (URCA)        La plate-forme J2EE   olivier.flauzac@univ-reims.fr   30 / 71
Les composants


Composants WEB
   assure la présentation - partie visible
   JSP (Java Server Page)
          La vue
          génération de HTML
          gestion de l’affichage et non du traitement
          inclusion de code Java dans du HTML
          inclusion de balises personnalisées
   Servlet
          Le contrôleur
          classe Java de traitement d’une requête
          peux de génération de code HTML
          génération possible de code XML



  Olivier Flauzac (URCA)        La plate-forme J2EE    olivier.flauzac@univ-reims.fr   31 / 71
Les composants (suite)



Composants Métier
   spécifiques au traitement des données
   propre à un secteur d’activité
   logique métier ou logique applicative
   interfaçage avec les bases de données
   EJB Enterprise Java Beans
   Le modèle




  Olivier Flauzac (URCA)     La plate-forme J2EE   olivier.flauzac@univ-reims.fr   32 / 71
Services d’infrastructures




Liste des services
    bases de données : JDBC
    services de nommages, annuaires : JNDI
    gestion des transactions : JTA / JTS
    connexion aux systèmes d’informations (ERP) : JCA
    supervision ; JMX




   Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   33 / 71
Services de communications




Liste des services
    authentification et droits : JAAS
    communication et exécution entre objets : RMI
    WEB services
    communication asynchrone : JMS
    courrier électronique : Java Mail




   Olivier Flauzac (URCA)     La plate-forme J2EE   olivier.flauzac@univ-reims.fr   34 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   35 / 71
Développement ?



Cycle de développement
   conception du code
   création d’une archive (pas obligatoire)
   déploiement sur le serveur
          intégration des éléments développés
          positionnement dans les répertoires associés
          définition du "contexte" du serveur
          modification des fichiers de configuration server.xml




  Olivier Flauzac (URCA)      La plate-forme J2EE   olivier.flauzac@univ-reims.fr   36 / 71
Solutions plate-forme


Plate-forme de développement
    J2 EE 5
           http://java.sun.com

Utilisation d’un serveur J2EE
    Tomcat 5.5
           http://tomcat.apache.org/
    Sun AppServer
           installé avec J2EE
    JBoss
           http://labs.jboss.com/




   Olivier Flauzac (URCA)           La plate-forme J2EE   olivier.flauzac@univ-reims.fr   37 / 71
Solutions "développement manuel"


Outils
    éditeur de texte
    service de déploiement
    service / outil d’archive

Cycle de développement
    développement des scripts / pages
    archivage
    déploiement
    modification du contexte
    (re)démarrage du serveur



   Olivier Flauzac (URCA)       La plate-forme J2EE   olivier.flauzac@univ-reims.fr   38 / 71
Développement avec NetBeans




Netbeans
   inclus dans J2EE with tools
   intégration de la gestion du serveur
          démarrage / arrêt
          déploiement
          modification et mise en place du contexte
          synchronisation de l’application




  Olivier Flauzac (URCA)       La plate-forme J2EE   olivier.flauzac@univ-reims.fr   39 / 71
Développement avec Eclipse

Eclipse
    utilisation de plugins spécifiques (nécessité d’installation)
    intégration de la gestion du serveur
           démarrage / arrêt
           déploiement
           modification et mise en place du contexte
           synchronisation de l’application

Environnement tout faits
    Easyeclipse Server Edition
    http://www.easyeclipse.org
    Lomboz
    http://lomboz.objectweb.org/


   Olivier Flauzac (URCA)       La plate-forme J2EE   olivier.flauzac@univ-reims.fr   40 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   41 / 71
Servlets ?


    programme java autonome exécuté sur le serveur
    exécutable sur tous les serveurs «étendus» d’un moteur de servlet
    principe
           fichier .class sur le serveur
           instanciation à la première utilisation
           accès par une URL :
            http://www.serveur.fr/contexte/maServlet
           exécution dans un thread
    persistance des données des servlets
    gestion de l’ensemble des informations et flux WEB :
           formulaires
           cookies
           sessions



   Olivier Flauzac (URCA)        La plate-forme J2EE   olivier.flauzac@univ-reims.fr   42 / 71
Intérêts




    efficacité (code semi compilé)
    résidentes
    multithreadées
    assurent la gestion du cache
    portables (Java)
    exploitent la totalités des possibilités serveur




   Olivier Flauzac (URCA)      La plate-forme J2EE     olivier.flauzac@univ-reims.fr   43 / 71
Fonctionnement

   requêtes




   cycle de vie




  Olivier Flauzac (URCA)   La plate-forme J2EE   olivier.flauzac@univ-reims.fr   44 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   45 / 71
Servlets de base : javax.servlet.Servlet

    init code d’initialisation (une seule fois)
    void i n i t ( S e r v l e t C o n f i g c o n f i g )

    service gestion du traitement et de la réponse
    void s e r v i c e ( S e r v l e t R e q u e s t req , ServletResponse r e s )

    destroy destruction de la servlet (une seule fois)
    void d e s t r o y ( )

    getServletConfig récupération de la configuration
    ServletConfig getServletConfig ( )

    getServletInfo information sur la servket
    java . lang . S t r i n g g e t S e r v l e t I n f o ( )




   Olivier Flauzac (URCA)                       La plate-forme J2EE   olivier.flauzac@univ-reims.fr   46 / 71
Servlets HTTP
javax.servlet.http.HttpServlet (Bonjour.java)

    gestion des servlet dans le cadre HTTP
    classe héritante de javax.servlet.Servlet
    ajout des méthodes :
           gestion des requêtes GET
            protected void doGet ( H t t p S e r v l e t R e q u e s t req ,
                                   HttpServletResponse resp )

           gestion des requêtes POST
            protected void doPost ( H t t p S e r v l e t R e q u e s t req ,
                                    HttpServletResponse resp )

    servlet utilisateur : héritage de javax.servlet.http.HttpServlet
    nécessité de masquer la (les) méthode(s) dans les servlets
    développées
    gestion des flux associés dans les méthodes
   Olivier Flauzac (URCA)                La plate-forme J2EE        olivier.flauzac@univ-reims.fr   47 / 71
Accès à l’environnement (Envir.java)



   ensemble de méthodes permettant d’accéder à l’environnement
   d’exécution
   méthodes de javax.servlet.http.HttpServletRequest
   j a v a . l a n g . S t r i n g getRemoteUser ( )

   public j a v a . l a n g . S t r i n g getRemoteAddr ( )

   public j a v a . l a n g . S t r i n g getRemoteHost ( )

   public i n t getRemotePort ( )




  Olivier Flauzac (URCA)                  La plate-forme J2EE   olivier.flauzac@univ-reims.fr   48 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   49 / 71
Manipulation des formulaires (formul.html -
Form.java)



   gestion des formulaires et des méthodes (POST et GET)
   récupération des champs de formulaires (chaînes de caractères)
   utilisation des méthodes :
   public j a v a . u t i l . Enumeration getParameterNames ( )

   public j a v a . l a n g . S t r i n g getParameter ( j a v a . l a n g . S t r i n g name )

   public j a v a . l a n g . S t r i n g [ ] getParameterValues ( j a v a . l a n g . S t r i n g name )




  Olivier Flauzac (URCA)                  La plate-forme J2EE            olivier.flauzac@univ-reims.fr   50 / 71
Les cookies (Cookie1.java - Cookie2.java)


   stockage d’informations sur le client
   informations sous forme de chaînes de caractères
   utilisation de la classe javax.servlet.http.Cookie
   dépose d’un cookie
          Méthode de la classe HttpServletResponse

   public void addCookie ( Cookie c o o k i e )

   lecture de la liste des cookies accessibles
          Méthode de la classe HttpServletRequest

   public Cookie [ ] getCookies ( )




  Olivier Flauzac (URCA)          La plate-forme J2EE   olivier.flauzac@univ-reims.fr   51 / 71
Les cookies : l’objet Cookie


public Cookie ( j a v a . l a n g . S t r i n g name , j a v a . l a n g . S t r i n g v a l u e )

public j a v a . l a n g . S t r i n g getName ( )

public i n t getMaxAge ( )

public j a v a . l a n g . S t r i n g getValue ( )

public void setMaxAge ( i n t e x p i r y )

public void s e t V a l u e ( j a v a . l a n g . S t r i n g newValue )

public void setDomain ( j a v a . l a n g . S t r i n g p a t t e r n )




     Olivier Flauzac (URCA)                     La plate-forme J2EE              olivier.flauzac@univ-reims.fr   52 / 71
Gestion des Sessions (startsession.html -
Session1.java - Session2.java)
   gestion d’informations sur le serveur
   suivi de navigation
   nécessité de transmettre l’id de session de page en page
   (ré-encodage de l’URL)
   j a v a . l a n g . S t r i n g encodeURL ( j a v a . l a n g . S t r i n g u r l )

   utilisation de javax.servlet.http.HttpSession
   j a v a . l a n g . O b j e c t g e t A t t r i b u t e ( j a v a . l a n g . S t r i n g name )

   j a v a . u t i l . Enumeration g e t A t t r i b u t e N a m e s ( )

   java . lang . S t r i n g getId ( )

   void s e t A t t r i b u t e ( j a v a . l a n g . S t r i n g name , j a v a . l a n g . O b j e c t v a l u e )

   void r e m o v e A t t r i b u t e ( j a v a . l a n g . S t r i n g name )


  Olivier Flauzac (URCA)                         La plate-forme J2EE                  olivier.flauzac@univ-reims.fr     53 / 71
Persistance (Persist.java) &
(persistance2.html - Persistance2.java)




   différent des sessions
   exploitation de la résidence des servlet
   mémorisation de l’état au cours d’une exécution




  Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   54 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   55 / 71
Inclusion (Incluant.java - incluse.html
Incluse.java)

    possibilité d’inclure dans le résultat :
           du html
           le résultat d’une autre servlet
    utilisation d’un RequestDispatcher
    (javax.servlet.ServletRequest)
    public RequestDispatcher g e t R e q u e s t D i s p a t c h e r ( j a v a . l a n g . S t r i n g path )

    réalisation de l’inclusion
    (javax.servlet.RequestDispatcher)
    void i n c l u d e ( S e r v l e t R e q u e s t request , ServletResponse response )


Attention
    ne pas fermer les flux dans la servlet incluse !


   Olivier Flauzac (URCA)                  La plate-forme J2EE            olivier.flauzac@univ-reims.fr   56 / 71
Délégation (Delegante.java - Delegue.java -
err.html - deleg.html)


   délégation de l’exécution à une autre servlet
   possibilité de création de chaînes d’exécutions
   réponse issue d’une auttre servlet
   utilisation d’un RequestDispatcher
   (javax.servlet.ServletRequest)
   public RequestDispatcher g e t R e q u e s t D i s p a t c h e r ( j a v a . l a n g . S t r i n g path )

   réalisation de l’inclusion
   (javax.servlet.RequestDispatcher)
   public void f o r w a r d ( S e r v l e t R e q u e s t request , ServletResponse response )




  Olivier Flauzac (URCA)                  La plate-forme J2EE            olivier.flauzac@univ-reims.fr   57 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   58 / 71
JSP ?




   code java intégré au HTML
   compilé à l’exécution en servlet
   styles de programmation
          jsp pur
          style XML




  Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   59 / 71
Déclarations



Style JSP
<%! i n t i = 1 5 ; %>
<%! S t r i n g s = new S t r i n g ( " H e l l o " ) ; %>



Style XML
< j s p : d e c l a r a t i o n > i n t i = 1 5 ; </ j s p : d e c l a r a t i o n >
<jsp : declaration >
     S t r i n g s = new S t r i n g ( " H e l l o " ) ;
</ j s p : d e c l a r a t i o n >




      Olivier Flauzac (URCA)                        La plate-forme J2EE                olivier.flauzac@univ-reims.fr   60 / 71
Expressions



Style JSP
<%= i %>
<%= s %>



Style XML
< j s p : expression > i </ j s p : expression >
< j s p : expression > s </ j s p : expression >




    Olivier Flauzac (URCA)             La plate-forme J2EE   olivier.flauzac@univ-reims.fr   61 / 71
Directives

page
   @
<% page a t t r i b u t s %>
< j s p : d i r e c t i v e . page a t t r i b u t s / >



      Attribut                      Description
      import                        packages à importer
      session                       appartenance à une session (true ou false)
      isThreadSafe                  gestion de la concurrence
      info                          informations relatives à la page
      errorPage                     URL de la page d’erreur
      isErrorPage                   indicateur de page d’erreur
      contentType                   type des données et encodage
      pageEncoding                  encodage de la page


      Olivier Flauzac (URCA)                        La plate-forme J2EE   olivier.flauzac@univ-reims.fr   62 / 71
Directives




include
  @
<% i n c l u d e a t t r i b u t s %>
<jsp : d ir e c ti v e . include a t t r i b u t s / >



                      Attribut      Description
                      file           nom et chemin du fichier à inclure




      Olivier Flauzac (URCA)                  La plate-forme J2EE   olivier.flauzac@univ-reims.fr   63 / 71
Script


Scriptlets
<%
  code Java
%>


<ul >
  <%
        f o r ( i n t j =0; j <10; j + + ) {
            o u t . p r i n t l n ( " < l i > " + j + " </ l i > " ) ;
        }
  %>
</ u l >




     Olivier Flauzac (URCA)                        La plate-forme J2EE   olivier.flauzac@univ-reims.fr   64 / 71
Portée des éléments


    page
    accès limité à la page
    request
    accès limité à la page et aux pages incluses ou déléguées
    session
    accès depuis l’emsemble des éléments de la session
    application
    accès à l’emsemble des éléments

Attention
accès concurrents possible pour session et application



   Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   65 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   66 / 71
Objects implicites




    request instance de javax.servlet.HttpServletRequest
    response instance de
    javax.servlet.HttpServletResponse
    out instance de javax.jsp.jspWriter
    session instance de javax.servlet.http.HttpSession




   Olivier Flauzac (URCA)   La plate-forme J2EE   olivier.flauzac@univ-reims.fr   67 / 71
Plan
1   Java ?
2   Architecture des applications
3   La plate-forme J2EE
4   Exécution - Développement
      Plate-forme d’exécution
      Plate-forme de développement
5   Servlet
      Servlets élémentaires
      Gestion des données
      Exécutions externes
6   JSP
      Objets
      Actions JSP

    Olivier Flauzac (URCA)    La plate-forme J2EE   olivier.flauzac@univ-reims.fr   68 / 71
Bean ?




Définition
Classe java respectant les conventions :
    un constructeur sans argument
    accès à toutes les propriétés
           setXXX et getXXX
           setXXX et isXXX




   Olivier Flauzac (URCA)     La plate-forme J2EE   olivier.flauzac@univ-reims.fr   69 / 71
Utilisation d’un Bean


    définition : <jsp :usebean>
           id nom du bean dans la page (nom de l’instance)
           scope portée
           class classe du bean
           type type de la référence (classe, classe parente, interface)
    accès en écriture : <jsp :setProperty>
           name nom du bean
           property nom de la propriété (* possible)
           value valeur à affecter
    accès en lecture : <jsp :getProperty>
           name nom du bean
           property nom de la propriété




   Olivier Flauzac (URCA)        La plate-forme J2EE   olivier.flauzac@univ-reims.fr   70 / 71
Inclusion / Délégation



Inclusion
< j s p : i n c l u d e page= "URL" >
    < j s p : param name= " xxx " v a l u e = " yyy " / >
</ j s p : i n c l u d e >



Délégation
< j s p : f o r w a r d page= "URL" >
    < j s p : param name= " xxx " v a l u e = " yyy " / >
</ j s p : forward >




     Olivier Flauzac (URCA)                   La plate-forme J2EE   olivier.flauzac@univ-reims.fr   71 / 71

								
To top