La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet Philippe Salvan

Présentations similaires


Présentation au sujet: "LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet Philippe Salvan"— Transcription de la présentation:

1 LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet Philippe Salvan

2 Architecture 3-niveaux Servlets/JSP HTTP Serveur SQL JDBC, ODBC, SQL Net Serveur HTTP JSP/Servlets Beans Pool DB HTTP

3 Servlets : Généralités Quest-ce quune servlet ? Un composant (programme) dun serveur Serveur Web Serveur dApplication Une class Java gérée par un Conteneur de Servlet Chargé dynamiquement par le serveur Générant dynamiquement des pages HTML/XML… Interagissant avec un client HTTP dans un mode requête/réponse Equivalent à cgi-bin NS API, ISAPI Modules Apache

4 Servlets : Généralités Conteneur de Servlet Elément dun serveur Web ou J2EE Partie du serveur (module) Plug-in ajouté au serveur Le serveur en personne ! Protocoles supportés HTTP1.1, HTTPS

5 Servlets : Généralités WEB Browser (client) HTTP WEB Server HTTP request response Servlet Container cgi-bin Servlet API jvm jspMyServlet response request

6 The javax.servlet Package Linterface Servlet Abstraction pour toute implémentation de servlet Déclare toutes les méthodes permettant de gérer une servlet et de communiquer avec le client Web Les méthodes sont implémentées par le développeur dans la classe HttpServlet (ou une sous-classe)

7 Servlet Linterface Servlet GenericServlet HttpServlet MaServlet doGet(HttpServletRequest req, HttpServletResponse resp ) doPost(…, …) doGet(HttpServletRequest req, HttpServletResponse resp ) doPost(…, …) class

8 Communication avec le Client Web Lors de la communication avec le client Web, la Servlet reçoit deux objets au travers dune méthode parmi deux Un objet ServletRequest qui encapsule la communication en provenance du client (requête) Un objet ServletResponse qui encapsule la communication vers le client (réponse)

9 Communication avec le Client Web Pour récupérer les requêtes de type GET Cas où le client envoie Un paramètre au travers dune URL Un formulaire avec lattribut METHOD positionné à GET

http://myserver/aservlet" Méthode à utiliser : doGet(HttpRequest req, HttpRequest resp)

10 Communication avec le Client Web Pour récupérer les requêtes de type POST Cas où le client envoie Un formulaire avec lattribut METHOD positionné à POST http://myserver/aservlet" Méthode à utiliser : doPost(HttpRequest req, HttpRequest resp)

11 Communication avec le Client Web Les deux méthodes peuvent exister simultanément public void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException { … } public void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException { doGet(req, resp); }

12 Communication avec le Client Web Renvoi du type MIME approprié public void doGet( HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); out.println(" "); out.println(" "); out.println(" "); out.println(" Page1 "); out.println(" "); out.println(" "); out.println(" ESSAI1 Hi"); out.println(" "); out.println(" "); }

13 Linterface HttpServletResponse Implémentation par le moteur de servlet public void setContentType(java.lang.String type) Permet de typer lobjet de réponse adressé au client en précisant le type MIME du document généré : "text/html", …. public java.io.PrintWriter getWriter() throws java.io.IOException Fournit un objet stream permettant de renseigner le document de sortie à générer public void addCookie( Cookie cookie) Ajoute un cookie à la réponse public void sendRedirect(java.lang.String URLlocation) throws java.io.IOException Pour rediriger la réponse (la nouvelle URL est renvoyée au client)

14 Linterface HttpServletRequest Implémentation par le moteur de servlet Permet de typer lobjet de requête et dobtenir des informations sur le client public java.lang.String getParameter(java.lang.String name) Récupère un paramètre par son nom (null si inexistant) public java.lang.String [] getParameterValues( java.lang.String name) Pour récupérer un tableau de valeurs, pour un paramètre multi-valué public java.lang.Enumeration getParameterNames() Pour récupérer tous les noms de paramètres adressés par le client public Cookie [] getCookies() Pour récupérer tous les cookies accessibles dans le navigateur du client; null si aucun cookies

15 Linterface HttpServletRequest public HttpSession getSession() Récupère la session courante sous forme dobjet transient contenant les données de session; crée la session si non encore existante public HttpSession getSession(boolean create) Si create == true : Crée la session si non encore existante Si create == false : Renvoie null si lobjet de session nexiste pas

16 Linterface HttpSession Implémentation par le moteur de servlet Type dun objet de session transient Permet de sauvegarder des données transientes tout au long des communciations avec une même instance de navigateur client Les objets ainsi stockés son appelés « valeurs » Limplémentation utilise un ID de session, sauvegardé sur le poste client sous la forme dun cookie public void putValue( java.lang.String name, java.lang.Object value) Ajoute le couple (name, value) aux informations de session; remplace lancienne valeur le cas échéant public void removeValue(java.lang.String name) Supprime le couple (name, value) des informations de session public java.lang.Object getValue(java.lang.String name) Obtient la veleur dune information de session repérée par son nom Renvoie null si aucune information de ce nom

17 JSP : Généralités Extension de HTML/XML à laide de Tags propriétaires Permet dajouter du code Java et/ou Javascript directement dans du HTML, et ainsi détendre des pages HTML statiques en pages dynamiques Basé sur la technologie des Servlets Java Le moteur de JSP est lui-même un servlet qui tranforme tout xxx.jsp en un servlet _xxx.java, puis le compile en un fichier _xxx.class

18 JSP : Commentaires Commentaires HTML (envoyés au client) Syntaxe JSP ] --> Exemple Page 1 Essais de commentaires No 1 ………

19 JSP : Commentaires Commentaires JSP (non envoyés au client) Syntaxe JSP Exemple Page 2 Comment 2 ………

20 JSP : Déclarations Déclarations Java (non adressées au client) = attributs de classe du servlet Syntaxe JSP Exemple 1 Page de commentaires 1 Essais de commentaires No 1 ……… Alors que était pour la eme fois …….

21 JSP : Declarations Résultats Page de commentaires 1 Essais de commentaires No 1 ……… Alors que richard était pour la 3eme fois …… ……

22 JSP : Directives Permet de contrôler le traitement dune page JSP Syntaxe JSP : Exemple Permet dinsérer une page dans la page JSP courante avant dêtre traitée (path désigne une URL relative)

23 JSP : directives de page Spécifie le langage Importe une librairie Renvoie une certaine page en cas derreur (exception non traitée). La page renvoyée peut être une page JSP. La variable exception permet une gestion dynamique des exceptions Simule une exception. Le flux de sortie est renvoyé au fur et à mesure à ServletResponse Le flux de sortie est bufferisé avant dêtre renvoyé à ServletResponse

24 JSP : Actions Expressions : Lexpression est évaluée et insérée dans le flux HTML produit Equivalent à : out.print(expression) Scriptlets Le code java est exécuté; toute instruction du type out.print(expression) insère du texte dans le flux de sortie HTML. Exemple <% String name =request.getParameter("hisname"); …. out.print(name) %> Redirection Le contrôle de mla génération est transféré à une autre page; léventuel document en cours de génération est perdu.

25 JSP : Création dobjets transients body Un objet transient est créé sil nexistait pas déjà. Cet objet est accessible par son nom au sein du scope choisi Une variable java nommée objectname est déclarée dans la classe et assignée à cette valeur.

26 JSP : Accès aux objets transients Permet dajouter un nouvel attribut Met à jour la valeur de lattribut

27 JSP : Objets prédéfinis HttpServletRequest request Représente la requête. Permet laccès aux paramètres passés par le client. HttpServletResponse response Représente la réponse qui sera envoyée au client HttpSession session Objet transient, géré par utilisation dun cookie. ServletContext application Objet transient, représente lapplication qui contient la page JSP. JspWriter out Permet décrire des informations dans la page HTML générée qui sera adressée au client


Télécharger ppt "LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet Philippe Salvan"

Présentations similaires


Annonces Google