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

Slides:



Advertisements
Présentations similaires
Serveur d’applications JEE
Advertisements

JEE 5 - JSF F.Pfister 2 institut eerie Les technologies du web Servlets JSP MVC Model 1 : servlets + JSP MVC Model.
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Julien HERON.
Servlet JSP & © Philippe Poulard.
Exposé de Système - Informatique et Réseau
Programmation Web Les JSP.
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Les Bases de données et le Web

CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
UV JSP JSP : Java Server Page
UV Servlets Les Servlets
Environnement Premier projet.
TP 3-4 BD21.
JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.
Servlet JAVA.
JSP 2 Crash Course Michel Buffa UNSA
Common Gateway Interface
Oct.-2000DESS IIDEE © B. BAH 1 ASP Caractéristiques dun fichier ASP Son extension : « *.asp » La balise: Son indépendance vis à vis de toute plate–forme,
2006/2007Denis Cabasson – Programmation Web Cours de programmation web ENSAE
Université de Versailles-Saint-Quentin
XML-Family Web Services Description Language W.S.D.L.
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
JAVASERVER FACES Un framework Java pour le développement Web.
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
SERVLETS PRESENTATION
Les instructions PHP pour l'accès à une base de données MySql
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Composants web (web tiers)
Création d'un projet Web avec Netbeans
Web dynamique PhP + MySQL AYARI Mejdi 2006
Servlets.
JSP (Java Server Pages)
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Adaptée du cours de Richard Grin
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Initiation au web dynamique
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
Les servlets Java Les bases de la génération dynamique HTML en Java Sébastien Limet etGérard Rozsavolgyi Licence Professionnelle
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Module I-C3 : Applications Web IUT R&T 2e année
JavaScript Nécessaire Web.
Chapitre 2 Développement Web avec les technologies JSP/Servlets
UV J2EE Module Java Expert
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
AngularJS.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Conférence Technique Java 2 Frédéric Jacquet. Au programme  Présenter les différents outils  Découverte - Java coté serveur  Appréhender l ’existant.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Struts.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
1 / / 01 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ARCHITECTURE WEB – COURS III
M2 – MIAGE/SID Servlet et session M2 – MIAGE/SID
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab
Introduction à SVG Scalable Vector Graphic. Informations ● Plus d'informations ici (draft, tutoriaux, outils... ): –
Les Java Server Pages Dans ce chapitre, nous allons :
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
IFT 6800 Atelier en Technologies d’information Chapitre 5 Introduction aux Servelets & JSP.
JAVA EE 5 Q.R. C’est quoi une servlets?
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet Philippe Salvan salvan@polytech.unice.fr

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

Servlets : Généralités Qu’est-ce qu’une servlet ? Un composant (programme) d’un serveur Serveur Web Serveur d’Application 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

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

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

The javax.servlet Package L’interface 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)

L’interface Servlet Servlet GenericServlet HttpServlet MaServlet class doGet(HttpServletRequest req, HttpServletResponse resp) doPost(…, …) HttpServlet class doGet( HttpServletRequest req, HttpServletResponse resp) doPost(…, …) MaServlet

Communication avec le Client Web Lors de la communication avec le client Web, la Servlet reçoit deux objets au travers d’une 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)

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 d’une URL http://myserver/aservlet?nom=foo Un formulaire avec l’attribut METHOD positionné à GET <FORM ACTION="http://myserver/aservlet" METHOD="GET" > Méthode à utiliser : doGet(HttpRequest req, HttpRequest resp)

Communication avec le Client Web Pour récupérer les requêtes de type POST Cas où le client envoie Un formulaire avec l’attribut METHOD positionné à POST <FORM ACTION="http://myserver/aservlet" METHOD=« POST" > Méthode à utiliser : doPost(HttpRequest req, HttpRequest resp)

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, doGet(req, resp); }

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("<html>"); out.println("<body>"); out.println("<head>"); out.println("<title>Page1</title>"); out.println("</head>"); out.println("<body>"); out.println("<h3>ESSAI1 </h3> <br> Hi"); out.println("</body>"); out.println("</html>"); }

L’interface HttpServletResponse Implémentation par le moteur de servlet public void setContentType(java.lang.String type) Permet de typer l’objet 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) Pour rediriger la réponse (la nouvelle URL est renvoyée au client)

L’interface HttpServletRequest Implémentation par le moteur de servlet Permet de typer l’objet de requête et d’obtenir 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

L’interface HttpServletRequest public HttpSession getSession() Récupère la session courante sous forme d’objet 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 l’objet de session n’existe pas

L’interface HttpSession Implémentation par le moteur de servlet Type d’un 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 » L’implémentation utilise un ID de session, sauvegardé sur le poste client sous la forme d’un cookie public void putValue( java.lang.String name, java.lang.Object value) Ajoute le couple (name, value) aux informations de session; remplace l’ancienne 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 d’une information de session repérée par son nom Renvoie null si aucune information de ce nom

JSP : Généralités Extension de HTML/XML à l’aide de Tags propriétaires Permet d’ajouter 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

JSP : Commentaires Commentaires HTML (envoyés au client) Syntaxe JSP <!-- comment [ <%= JavaExpression %> ] --> Exemple <% page language="java" %> <HTML> <HEAD><TITLE> Page 1 </TITLE></HEAD> <BODY> <H2> Essais de commentaires No 1 </H2> <!–- Author: P.Salvan, Date : <%=(new java.util.Date()).toLocaleString()%> --> ……… </BODY>

JSP : Commentaires Commentaires JSP (non envoyés au client) Syntaxe JSP <%-- JSP comment --%> Exemple <% page language="java" %> <HTML> <HEAD><TITLE> Page 2 </TITLE></HEAD> <BODY> <H2> Comment 2 </H2> <%–- Auteur: P.Salvan, 28 oct 2008 --%> ……… </BODY>

JSP : Déclarations Déclarations Java (non adressées au client) = attributs de classe du servlet Syntaxe JSP <%! déclarations %> Exemple 1 <% page language="java" %> <%! Int n=3; %> <%! String user; %> <HTML> <HEAD><TITLE> Page de commentaires 1 </TITLE></HEAD> <BODY> <H2> Essais de commentaires No 1 </H2> <% user= "richard" %> ……… Alors que <%= user %> était pour la <%=n%> eme fois ……. </BODY>

JSP : Declarations Résultats <HTML> <HEAD><TITLE> Page de commentaires 1 </TITLE></HEAD> <BODY> <H2> Essais de commentaires No 1 </H2> ……… Alors que richard était pour la 3eme fois …… …… </BODY>

JSP : Directives Permet de contrôler le traitement d’une page JSP Syntaxe JSP : <%@ directive [ attribute= value] %> Exemple <%@ include file= "path" %> Permet d’insérer une page dans la page JSP courante avant d’être traitée (path désigne une URL relative)

JSP : directives de page <%@ page language = "java" %> Spécifie le langage <%@ page import = "java.sql" %> Importe une librairie <%@ page errorPage = "path" %> Renvoie une certaine page en cas d’erreur (exception non traitée). La page renvoyée peut être une page JSP. La variable exception permet une gestion dynamique des exceptions <%@ page isErroPage= "true" %> Simule une exception. <%@ page buffer = "none" %> Le flux de sortie est renvoyé au fur et à mesure à ServletResponse <%@ page buffer = « 12kb" %> Le flux de sortie est bufferisé avant d’être renvoyé à ServletResponse

JSP : Actions Expressions : Scriptlets Exemple Redirection L’expression est évaluée et insérée dans le flux HTML produit Equivalent à : out.print(expression) Scriptlets <% javacode %> 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 <jsp:forward page="path"/> 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.

JSP : Création d’objets transients <jsp:useBean id='objectname' class= 'classname' scope= [page|request|session|application]> body </jsp:useBean> Un objet transient est créé s’il n’existait 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.

JSP : Accès aux objets transients <jsp:getProperty name='objectname' property= 'attributname' /> Permet d’ajouter un nouvel attribut <jsp:setProperty name= 'objectname' value= value Met à jour la valeur de l’attribut

JSP : Objets prédéfinis HttpServletRequest request Représente la requête. Permet l’accè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 d’un cookie. ServletContext application Objet transient, représente l’application 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