8
 JAVA EE Les Servlets : sont des applications Java fonctionnant du côté serveur (tels que ASP ou bien PHP). Elles s'exécutent dans un moteur de servlets utilisé qui sert à établir le lien entre la servlet et le serveur Web . 1. Reçoit des requêtes HTTP 2. Effectue traitement. 3. Fournit une réponse HTTP Si le type de la requête est GET, alors la méthode de la Servlet qui traite la requête est la suivante : void doGet(req, res) Si le type de la requête est POST alors elle est traitée par la méthode : void doPost(req, res) la servlet est crée puis initialisée  void init() Cette méthode n’est appelée par le serveur qu’une seule fois lors du chargement e n mémoire par le moteur de servlet. HttpServletRequest fournit un ensemble de méthodes pour avoir toutes les informations concernant une requête String getMethod() : Récupère la méthode HTTP utilisée par le client String getHeader(String name) : Récupère la valeur de l’entête demandée  String getRemoteHost() : Récupère le nom de domaine du client String getRemoteAddr() : Récupère l'adresse IP du client String getServerName() : Récupère le nom du serveur String getServerPort() : Récupère le numéro de port du serveur String getParameter(String name) : Récupère la valeur du paramètre name d'un formulaire. Lorsque plusieurs valeurs sont présentes, la première est retournée String[] getParameterValues(St ring name) : Récupère les valeurs correspondant au paramètre name d'un formulaire, c'est-à-dire dans le cas d'une sélection multiple (cases à cocher, listes à choix multiples) les valeurs de toutes les entités sélectionnées Enumeration getParameterNames( ) : Retourne un objet de type Enumeration contenant la liste des noms des paramètres passés à la requête Lire la requête A l'intérieur de la méthode DoXXX()  (Doget()  ou DoPost()  selon la méthode invoquée) la requête de l'utilisateur est passée en paramètres sous forme d'objet (ou plus exactement l'interface) HttpServletRequest  . Afin de comprendre son fonctionnement, il est essentiel de connaître la façon selon laquelle les requêtes sont transmises du client au serveur par  le protocole HTTP. 

Java EE

Embed Size (px)

DESCRIPTION

Resumé Java EE

Citation preview

  • JAVA EE

    Les Servlets : sont des applications Java fonctionnant du ct serveur (tels que ASP ou bien PHP). Elles s'excutent dans un moteur de servlets utilis qui sert tablir le lien entre la servlet et le serveur Web . 1. Reoit des requtes HTTP 2. Effectue traitement. 3. Fournit une rponse HTTP

    Si le type de la requte est GET, alors la mthode de la Servlet qui traite la requte est la suivante : void doGet(req, res) Si le type de la requte est POST alors elle est traite par la mthode : void doPost(req, res) la servlet est cre puis initialise void init() Cette mthode nest appele par le serveur quune seule fois lors du chargement en mmoire par le moteur de servlet. HttpServletRequest fournit un ensemble de mthodes pour avoir toutes les informations concernant une requte String getMethod() : Rcupre la mthode HTTP utilise par le client String getHeader(String name) : Rcupre la valeur de lentte demande String getRemoteHost() : Rcupre le nom de domaine du client String getRemoteAddr() : Rcupre l'adresse IP du client String getServerName() : Rcupre le nom du serveur String getServerPort() : Rcupre le numro de port du serveur String getParameter(String name) : Rcupre la valeur du paramtre name d'un formulaire. Lorsque plusieurs valeurs sont prsentes, la premire est retourne String[] getParameterValues(String name) : Rcupre les valeurs correspondant au paramtre name d'un formulaire, c'est--dire dans le cas d'une slection multiple (cases cocher, listes choix multiples) les valeurs de toutes les entits slectionnes Enumeration getParameterNames() : Retourne un objet de type Enumeration contenant la liste des noms des paramtres passs la requte

    Lire la requte

    A l'intrieur de la mthode DoXXX() (Doget() ou DoPost() selon la mthode invoque) la requte de l'utilisateur est passe en paramtres sous forme d'objet (ou plus exactement l'interface)HttpServletRequest . Afin de comprendre son fonctionnement, il est essentiel de connatre la faon selon laquelle les requtes sont transmises du client au serveur par le protocole HTTP.

  • Voici les diffrentes mthodes de l'objet HttpServletRequest

    Mthode Description

    String getMethod() Rcupre la mthode HTTP utilise par le client

    String getHeader(String Key) Rcupre la valeur de l'attribut Key de l'en-tte

    String getRemoteHost() Rcupre le nom de domaine du client

    String getRemoteAddr() Rcupre l'adresse IP du client

    String getParameter(String Key)

    Rcupre la valeur du paramtre Key (cl) d'un formulaire. Lorsque plusieurs valeurs sont prsentes, la premire est retourne

    String[] getParameterValues(String Key)

    Rcupre les valeurs correspondant au paramtre Key (cl) d'un formulaire, c'est--dire dans le cas d'une slection multiple (cases cocher, listes choix multiples) les valeurs de toutes les entits slectionnes

    Enumeration getParameterNames()

    Retourne un objet Enumeration contenant la liste des noms des paramtres passs la requte

    String getServerName() Rcupre le nom du serveur

    String getServerPort() Rcupre le numro de port du serveur

    Crer la rponse

    De la mme faon, la rponse fournir l'utilisateur est reprsente sous forme d'objetHttpServletResponse. Voici les diffrentes mthodes de l'objet HttpServletResponse

    Mthode Description

    String setStatus(int StatusCode)

    Dfinit le code de retour de la rponse

    void setHeader(String Nom, String Valeur)

    Dfinit une paire cl/valeur dans les en-ttes

    void setContentType(String type)

    Dfinit le type MIME de la rponse HTTP, c'est--dire le type de donnes envoyes au navigateur

  • void setContentLength(int len)

    Dfinit la taille de la rponse

    PrintWriter getWriter() Retourne un objet PrintWriter permettant d'envoyer du texte au navigateur client. Il se charge de convertir au format appropri les caractres Unicode utiliss par Java

    ServletOutputStream getOutputStream()

    Dfinit un flot de donnes envoyer au client, par l'intermdiaire d'un objet ServletOutputStream, driv de la classe java.io.OutputStream

    void sendredirect(String location)

    Permet de rediriger le client vers l'URL location

    Le JavaServer Pages ou JSP est une technique : permet aux dveloppeurs de gnrer dynamiquement du code HTML, XML ou tout autre type de page web Les JSP sont compiles par un compilateur JSP pour devenir des servlets Java.

    lments de scripts JSP : Commentaire : Cet lment de script est utilis pour faire un commentaire dans le code JSP Le texte dans un commentaire JSP ne sera pas envoy au client ni compil dans la Servlet

    Expression :

    Dclaration Une dclaration permet dinsrer du code dans la classe de la Servlet. Les attributs et les mthodes dclares dans la page JSP sont utilisables dans toute la page JSP Les dclarations sont placs entre les symboles

    Directive page Directive include

    Tout le contenu du fichier externe est inclus comme sil tait saisi directement dans la page JSP.

  • Pas de sparation de la porte des variables

    Directive JSP : page La directive page dfinit les attributs spcifiques une page. Des attributs possibles pour la directive page sont :

    import : Importe un paquetage (package) Java. Cette directive rsulte en une instruction import dans la servlet.

    // import

    contentType : Dfinit le type de contenu de la page gnre. Par exemple, ce peut tre text/html pour du HTML. // contentType

    errorPage : Indique la page afficher si une exception se produit pendant le traitement de la requte HTTP. //la page d'erreur

    isErrorPage : Si cette valeur est true, la page est une page d'erreur. // pas une page d'erreur

    La porte des objets un objet de porte page n'est accessible que sur une page JSP donne ; un objet de porte requte n'est accessible que durant le cheminement d'une requte dans l'application, et n'existe plus ds lors qu'une rponse est renvoye au client ; un objet de porte session est accessible durant l'intgralit de la visite d'un client donn, condition bien sr que le temps d'inactivit dfini par le conteneur ne soit pas dpass durant cette visite ; un objet de porte application est accessible durant toute l'existence de l'application et par

    tous les clients.

  • Le JavaBean

    Un bean :

    doit tre une classe publique ;

    doit avoir au moins un constructeur par dfaut, public et sans paramtres. Java l'ajoutera de lui-mme si aucunconstructeur n'est explicit ;

    peut implmenter l'interface Serializable, il devient ainsi persistant et son tat peut tre sauvegard ;

    ne doit pas avoir de champs publics ;

    peut dfinir des proprits (des champs non publics), qui doivent tre accessibles via des mthodes publiques getter et setter, suivant des rgles de nommage.

    Les actions standard

    tudions les diffrents attributs de cette action.

    La valeur de l'attribut id est le nom du bean rcuprer, ou le nom que vous souhaitez donner au bean crer.

  • L'attribut class correspond logiquement la classe du bean. Il doit obligatoirement tre spcifi si vous souhaitez crer un bean, mais pas si vous souhaitez simplement rcuprer un bean existant.

    L'attribut optionnel scope correspond la porte de l'objet. Si un bean du nom spcifi en id existe dj dans ce scope, et qu'il est du type ou de la classe prcis(e), alors il est rcupr, sinon une erreur survient. Si aucun bean de ce nom n'existe dans ce scope, alors un nouveau bean est cr. Enfin, si cet attribut n'est pas renseign, alors le scope par dfaut sera limit la page en cours.

    L'attribut optionnel type doit indiquer le type de dclaration du bean. Il doit tre une superclasse de la classe du bean, ou une interface implmente par le bean. Cet attribut doit tre spcifi si class ne l'est pas, et vice-versa.

    En rsum, cette action permet de stocker un bean (nouveau ou existant) dans une variable, qui sera identifie par la valeur saisiedans l'attribut id.

    L'action standard getProperty Lorsque l'on utilise un bean au sein d'une page, il est possible par le biais de cette action d'obtenir la valeur d'une de ses proprits : Code : JSP

    Code : JSP - Syntaxe 2

    Code : JSP - Syntaxe 4

  • excute la page indique et inclure le rsultat de la page dans la sortie de la page d'appel, la place du

  • Terminer une session :Deux choix s'offrent nous pour terminer une session, soit la laisser s'expirer seule, soit mettre fin sa dure de vie en utilisant une mthode spcifique de l'objet HttpSession :

    session.invalidate();

    getId(), getCreationTime(), getLastAccessedTime() : retournent respectivement l'ID de session, sa date de cration et la date de dernire visite du client concern. setMaxActiveInterval(int) : indique le temps (en secondes) au bout duquel une session expire. Ce paramtre est fix globalement une application web dans le descripteur web.xml. Il peut aussi tre chang par appel la mthode getMaxActiveInterval(int). Fixer la taille maximale d'une session dans le fichier web.xml : 300

    1/* Chargement du driver JDBC pour MySQL */ 2try { 3 Class.forName( "com.mysql.jdbc.Driver" ); 4} catch ( ClassNotFoundException e ) { 5 /* Grer les ventuelles erreurs ici. */ 6}