JAVA EE 5 Q.R. C’est quoi une servlets?

Slides:



Advertisements
Présentations similaires
Serveur d’applications JEE
Advertisements

Conception de Site Webs dynamiques Cours 6
Internet.
Exposé de Système - Informatique et Réseau
Programmation Web Les JSP.
Cours 5.3 : XML et les architectures N-tiers – Tier Présentation
Cours 6 : XML et les architectures N-tiers – Tier Applicatif

UV JSP JSP : Java Server Page
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.
Formulaire HTML Introduction. Définition de formulaire.
Découvrez notre plate-forme de gestion de listes de diffusion.
Sécurité Informatique
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,
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Connexion Web et Bases de Données : Les SERVLETS
XML-Family Web Services Description Language W.S.D.L.
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
Applications Internet
Le langage ASP Les variables d'environnement HTTP avec Request.
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.
Manipulation de formulaires en Javascript
Le langage ASP Les formulaires avec Request. Les formulaires sont employés pour transmettre des informations saisies par un client à une application Web.
Le formulaire Les chaînes de requêtes. Les chaînes de requêtes (QueryStrings) correspondent à des informations associées à l'adresse URL avec un point.
Servlets.
JSP (Java Server Pages)
Servlets. 2 H. Fauconnier M2-Internet Contenu dynamique Perl/cgi indépendant de la plateforme Extensions du serveur exemple ASP M2-Internet 3 H. Fauconnier.
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.
Initiation au web dynamique
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
Chapitre 2 Développement Web avec les technologies JSP/Servlets
PHP 5° PARTIE : LES COOKIES
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
UV J2EE Module Java Expert
Les réseaux - Internet Historique Réseau local Internet Les protocoles
Annexe 2 entêtes HTTP et cookies. Accéder aux objets requêtes et réponses Ces objets sont disponibles dans les classes clé depuis la méthode awake les.
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Les sockets.
Struts.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
 Formulaires HTML : traiter les entrées utilisateur
Master 1 SIGLIS Intégration des données dans l’entreprise Stéphane Tallard JDBC: Java Database Connectivity Master 1 SIGLIS1JDBC.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Initiation au JavaScript
M2 – MIAGE/SID Servlet et session M2 – MIAGE/SID
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Representational State Transfer - REST
Java - Servlet et JSP Servlets JSP (Java Server Pages) Tomcat
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.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Java Remote Method Invocation
INF2005– Programmation web– A. Obaid Les cartes. INF2005– Programmation web– A. Obaid Images cliquables Outil permettant d'effectuer des liens à partir.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Technologie servlet Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
1 Programmation Web Programmation WAMP/LAMP Premiers principes.
Transcription de la présentation:

JAVA EE 5 Q.R

C’est quoi une servlets?

sont des applications côté serveur, sont des classes Java qui sont chargées et exécutées par un conteneur de servlets pouvant fonctionner de façon autonome ou comme un composant d'un serveur Web ou d'un serveur JEE sont conçues comme des extensions des serveurs auxquels elles ajoutent des fonctionnalités. Les servlets sont chronologiquement le deuxième élément JEE apparu, après JDBC.

CITEZ LES MÉTHODES DES REQUÊTES HTTP

les méthodes des requêtes http sont: GET POST HEAD PUT DELETE TRACE OPTIONS

QUELLE EST LA DIFFÉRENCE ENTRE UNE REQUÊTE PUT ET UNE REQUÊTE POST?

PUT - Cette méthode permet d'envoyer au serveur des données qui doivent être stockées à l' URI spécifiée. La différence avec la méthode POST est que le serveur ne doit pas traiter les données, mais seulement les Stocker

C’EST QUOI LE RÔLE DE LA REQUÊTE OPTIONS ?

OPTIONS - Cette requête permet de demander au serveur des informations sur une ressource particulière ou sur ses propres capacités.

C’ EST QUOI UNE URI ET QUELLE EST LA DIFFÉRENCE ENTRE UNE URI ET UNE URL ?

Dans une requête GET le client envoie au serveur une chaîne de caractère, respectant une syntaxe particulière, et le serveur retourne les données identifiées par cette chaîne. Cette chaîne est appelée URI (Uniform Resource Identifier- identificateur de ressource uniforme). Un type particulier d' URI est constitué d'une chaîne identifiant une ressource en relation avec le serveur Ce type d' URI est appelé URL (Uniform Ressource Locator - localisateur de ressource uniforme). La ressource peut être une page Web Statique ou le résultat produit par une application Web.

COMMENT UNE REQUÊTE GET PEUT ÊTRE PRODUITE ?

Une requête GET est: généralement produite lorsqu'un utilisateur clique sur un lien dans une page Web ou tape une adresse dans la zone d’adresse de son navigateur.

COMMENT ON PEUT ENVOYER DES PARAMÈTRES DANS UNE REQUÊTE GET ?

Lors de l'envoi d'une requête GET, des informations complémentaires peuvent être passées au serveur, le plus souvent sous forme de paramètres qui sont ajoutés à la fin de l'URL. Les paramètres sont séparés du reste de la requête par un point d'interrogation (?). Chaque paramètre est représenté par un pair nom=valeur, et les paires sont séparées par le caractère &. Ce format est appelé encodage d'URL. Une autre façon de passer des paramètres consiste à les ajouter au chemin d'accès. Les données ainsi ajoutées semblent prolonger l’URL, mais l'application Web les interprète comme des paramètres.

COMMENT LES REQUÊTES POST SONT ENVOYÉES ?

Le plus souvent, les requêtes POST sont envoyées par des formulaires affichés dans des navigateurs Web.

C’ EST QUOI UN CONTENEUR DE SERVLETS ?

Le conteneur de servlets est le programme responsable du chargement, de l'initialisation, de l'appel et de la destruction des instances de servlets.

QUE FAIT UN CONTENEUR DE SERVLET LORSQU’IL REÇOIS UNE REQUÊTE ?

Lorsqu’il reçoit la requête, il en analyse l' URI, les en- têtes et le corps et stocke toutes les données dans un objet implémentant l'interface, javax.servlet.ServletRequest. Il crée une instance d'un objet implémentant l'interface javax.servlet.ServletResponse. Cet objet encapsule la réponse qui sera envoyée au client. Le conteneur appelle ensuite une méthode de la classe de la servlet, en lui passant les objets requête et réponse. La servlet traite la requête et renvoie la réponse au client.

QUELLE EST LA CLASSE DE BASE DE L'API SERVLET POUR LE TRAITEMENT DES REQUÊTES HTTP?

La classe javax.servlet.http.HttpServlet est la classe de base de l'API Servlet pour le traitement des requêtes HTTP. Cette classe étend elle-même la classe Javax.servlet.GenericServlet, qui fournit les fonctionnalités fondamentales.

D ONNEZ LES MÉTHODES DE L ’ INTERFACE S ERVLET :

init(config : ServletConfig) getServletConfig() service(req :ServletRequest, res :ServletResponse) getServletInfo() destroy ()

D ONNEZ LES MÉTHODES DE L ’ INTERFACE S ERVLET C ONFIG :

getServletContext () getInitParameter () getInitParameterNames () getServletName()

D ONNEZ LES MÉTHODES DE LA CLASSE G ENERIC S ERVLET :

void destroy() String getInitParameter(String name) Enumeration getInitParameterNames() ServletConfig getServletConfig() ServletContext getServletContext() String getServletInfo() String getServletName() void init() void init(ServletConfig config) void log(String msg) void log(String message, Throwable t) void service(ServletRequest req, ServletResponse res)

D ONNEZ LES MÉTHODES DE LA CLASSE H TTP S ERVLET :

protected void doDelete(HttpServletRequest req, HttpServletResponse resp) protected void doGet(HttpServletRequest req, HttpServletResponse resp) protected void doHead(HttpServletRequest req, HttpServletResponse resp) protected void doOptions(HttpServletRequest req, HttpServletResponse resp) protected void doPost(HttpServletRequest req, HttpServletResponse resp) protected void doPut(HttpServletRequest req, HttpServletResponse resp) protected void doTrace(HttpServletRequest req, HttpServletResponse resp) protected long getLastModified(HttpServletRequest req) protected void service(HttpServletRequest req, HttpServletResponse resp) void service(ServletRequest req, ServletResponse res)

QUEL EST LE RÔLE DE LA MÉTHODE SERVICE():?

La méthode sevice() appelle l’une des méthodes doXXX() de la servlet selon le type de la requête http selon le shéma suivant : Le contenaire de servlet appelle la method service(ServletRequest, ServletResponse) de HttpServlet. La méthode service(ServletRequest, ServletResponse) de HttpServlet appelle la méthode service(HttpServletRequest, HttpServletResponse) de la même classe. La méthode service(HttpServletRequest, HttpServletResponse) de HttpServlet analyse la requête pour trouver la méthode HTTP utilisée. En fonction de la méthode HTTP, elle appelle la méthode doXXX() correspondante. Par exemple, si la demande emploie la méthode POST, elle appelle la méthode doPost () de la servlet.

D ONNEZ L A SIGNATURE DES MÉTHODES DO X XX () EST LA SUIVANTE :

public void doXxx(HttpServletRequest request. HttpServletResponse response) Chaque méthode ( doPost (), doGet (), etc.) prend deux paramètres. L'objet HttpServlet Request encapsule la requête envoyée au serveur. Il contient toutes les données de la requête, ainsi que certains en-têtes. Les méthodes de l'objet request permettent d'accéder à ces données. L'objet HttpResponse encapsule la réponse au client.

Q U ' EST - CE QU ' UN DESCRIPTEUR DE DÉPLOIEMENT ?

Le descripteur de déploiement est un fichier nommé web.xml et situé dans le répertoire WEB-INF du (répertoire racine) de l'application web. Il contient les caractéristiques et paramètres de l'application. Cela inclut la description des servlets utilisées, ou les différents paramètres d'initialisation..

D ONNER L ’ ARCHITECTURE DU FICHIER WEB. XML :

...

C OMMENT ON PEUT SPÉCIFIER DES PARAMÈTRES D ' INITIALISATION POUR UNE SERVLET ?

Comment on peut spécifier des paramètres d'initialisation pour une servlet ?

Les paramètres d'initialisation sont des paramètres chargés en même temps que la servlet, et qu'elle peut récupérer, par exemple le nom d'une classe dont la servlet aura besoin. Ce genre de paramètre se déclare au sein de balises init-param. La balise param-name permet alors de définir le nom du paramètre, sa valeur étant spécifiée dans la balise param-value.

C OMMENT ON PEUT OBLIGER LE SERVEUR DE CHARGER UNE SERVLET AU DÉMARRAGE ?

La balise load-on-startup demande que la servlet soit chargée dès le démarrage du serveur.

D ONNER LE CODE H TML D ’ UN FICHIER INDEX. HTML QUI VA PERMETTRE DE SAISIR LE NOM DE L ' UTILISATEUR AINSI QUE SON MOT DE PASSE, ET UN BOUTON E NREGISTRER QUI RENVOIE LE NOM ET LE MOT DE PASSER A UNE SERVLET L OGIN

Index.html Enregistrement Veuillez entrer votre nom d'utilisateur et votre mot de passe

Q UELLE EST LA MÉTHODE QU ’ ON DOIT UTILISER DANS LA SERVLET L OGIN POUR TRAITER LES INFORMATIONS DU FORMULAIRE PRÉCÉDENT ?

la méthode qu’on doit utiliser dans la servlet Login pour traiter les informations du formulaire précédent est: doPost

Q UEL OBJET ENCAPSULE LES INFORMATION DU FORMULAIRE ?

HttpServletRequest request

C OMMENT ON PEUT EXTRAIRE LES INFORMATIONS DE L ’ OBJET REQUEST ?

La méthode getParameter

Comment la méthode doPost () lit elle les paramètres de la requête ?

en appelant la méthode getParameter(String) de l'objet HttpServlet Request. String username = request.getParameter("username”); Le nom utilisé comme argument de la méthode getParameter() est le même que celui employé dans le formulaire :

Comment la servlet fait pour renvoyer la réponse au client ?

Elle utilise l'objet HttpServletResponse response. Elle commence par déterminer le type de contenu de la réponse en donnant à l'en-tête-ContentType la valeur "text/html" ; response.setContentType("text/html")

C RÉER UNE SERVLET L OGIN QUI VA PERMETTRE D ' AUTHENTIFIER LA PERSONNE DÉSIREUSE D ' ACCÉDER AUX RESSOURCES DE L ' APPLICATION W EB.

La Servlet import java.io.*; import javax.servlet.ServletException; import javax.servlet.http. HttpServlet ; import javax.servlet.http. HttpServlet Request; import javax.servlet.http. HttpServlet Response; public class Login extends HttpServlet { public Login() { super (); } protected void doPost ( HttpServlet Request request, HttpServlet Response response) throws ServletException, IOException { // TODO Auto-generated method stub String username = request.getParameter("username"); try { response.setContentType("text/html"); PrintWriter writer = response.getWriter(); writer.println(" "); writer.println("Merci, " + username + ". Vous êtes maintenant enregistré dans le système."); writer.println(" ") ; writer.close() ; } catch (Exception e){ e.printStackTrace();

On considère le formulaire suivant : Technology : State : New Jersey New York Kansas California Texas Donner le code la méthode doPost pour extraire les valeurs envoyées par le formulaire

Solution : public void doPost(HttpServletRequest req, HttpServletResponse res) { String searchString = req.getParameter("searchstring"); String[] stateList = req.getParameterValues("state"); //code }

Comment on peut obtenir le Protocol employé pas une requête.

public String getProtocol()

Comment on peut obtenir L'adresse IP du client qui a envoyé la requête ?

public String getRemoteAddr()

Donner un programme qui affiche tous les headers présent dans une requête

public void service(HttpServletRequest req, HttpServletResponse res) { Enumeration headers = req.getHeaderNames(); while (headers.hasMoreElements()) { String header = (String) headers.nextElement(); String value = req.getHeader(header); System.out.println(header+" = "+value); }

Comment une servlet arrive à lire la valeur de l'en-tête Last- Modified

En appelant la méthode getDateHeader("Last-Modified").

dans le cas de l'URI que retournera getPathInfo()

"/extra/path/info