Cours j2ee
Benlahmar El habib
Partie trois
Une servlet est un programme qui s’exécute côté serveur en tant qu’extension du serveur. La technique des CGI en Java, MAIS
Sans créer de processus + toute la puissance de Java (accès aux divers domaines de l’informatique: BD, multimédia, réseau, objets distribués, composants, etc.) + indépendance de la plate?forme et du serveur
ServletsScripts serveur écrit en Java Servlets de Base : FileServlet, CGIServlet, … HttpServlet Exécution dans un espace isolé (Web Application)
Spécification : Sun (sous partie de J2EE) Implémentation de référence : Apache Group (Jakarta Tomcat) Différence avec les CGI et les LD (NSAPI, ISAPI)
performance sur les passages des paramêtres (vs CGI) sûreté de fonctionnement (NSAPI, ISAPI) Pour exécuter des servlets, il faut un moteur de servlets dans le serveur Web.
Ces moteurs sont des plug?in pour des serveurs Web existants ou bien des serveurs Web aux mêmes Plug?in : deux candidats : Jrun (www.allaire.com), tomcat (jakarta.apache.org)
Utilise deux paquetages :
javax.servlet : paquetage générique javax.servlet.http : paquetage pour serveurs Web Ces paquetages ne sont pas dans J2SE 1.3Sont des paquetages supplémentaires. Il sont aussi intégrés dans J2EE voir à http://java.sun.com/j2ee/
L’API servlet regroupe un ensemble de classes dans deux packages :
javax.servlet : contient les classes pour développer des serlvets génériques indépendantes d’un protocole. javax.servlet.http : contient les classes pour développer des servlets qui reposent sur le protocole http utilisé par les serveurs web.
javax.servlet
Nom RequestDispatcher
Role Définition d’un objet qui permet le renvoi d’une requête vers une autre ressource du serveur (une autre servlet, une JSP …) Définition de base d’une servlet Définition d’un objet pour obtenir des informations sur le contexte d’execution de la servlet Définition d’un objet pour configurer la servletDéfinition d’un objet contenant la requête du client Définition d’un objet qui contient la reponse renvoyée par la servlet Permet de définir une servlet qui ne répondra qu’à une seule requête à la fois
Servlet ServletContext Les interfaces
ServletConfig ServletRequest ServletResponse SingleThreadModel
javax.servlet Nom GenericServlet ServletInputStream Les classes ServletOutPutStream
RoleClasse définissant une servlet indépendante de tout protocole Flux permet la lecture des donnes de la requête cliente Flux permettant l’envoie de la reponse de la servlet Exception générale en cas de problème durant l’exécution de la servlet Exception levée si la servlet n’est pas disponible
SevletException Les exceptions UnavailableException
javax.servlet. http
Nom HttpServletRequest
RoleHérite de ServletRequest : définit un objet contenant une requête selon le protocole http
Les interfaces
HttpServletResponse Hérite de ServletResponse : définit un objet contenant la reponse de la servlet selon le protocole http HttpSession Cookie Définit un objet qui représente une session Classe représentant un cookie (ensemble de données sauvegardées par le brower sur le poste client)Hérite de GenericServlet : classe définissant une servlet utilisant le protocole http Classe proposant des méthodes statiques utiles pour le développement de servlet http
Les classes
HttpServlet HttpUtils
Cette interface définit 5 méthodes qui permettent au conteneur web de dialoguer avec la servlet:
void service (ServletRequest req,ServletResponse res) void init(ServletConfigconf) ServletConfig getServletConfig() void destroy() String getServletInfo()
Les méthodes init(), service() et destroy() assurent le cycle de vie de la servlet en étant respectivement appelées lors de la création de la servlet, lors de son appel pour le traitement d’une requête et lors de sa destruction.
L’interface ServletRequest définit plusieurs méthodes qui …