Académique Documents
Professionnel Documents
Culture Documents
Plan du cours
MIF13
Programmation Web Application Web
Retour sur la définition
JSP
LIONEL MÉDINI
SEPTEMBRE-DÉCEMBRE 2009 Taglibs
HTTP
1
06/10/2009
Principes de la programmation côté serveur en Java Principes de la programmation côté serveur en Java
Réception de la requête du client Serveur Web Machine serveur
Java VM
Encapsulation de la requête Moteur de servlets
client dans un objet Java Container Web
HTTPServletRequest Interface Métier
Servlet Données
Traitement de la requête et Composants Java
Serveur HTTP
Servlet Classe
génération de la réponse sous (servlets, JSP, JSP JSP
forme d’un objet Java classes, interfaces, Connecteur Classe
HTTPServletResponse JavaBeans…) JSP Classe
Désencapsulation de la réponse Moteur de servlets Servlet
Servlet
Classe
2
06/10/2009
Servlets Servlets
Servlets Servlets
« interface »
L’API Servlet Servlet Méthodes de gestion du cycle de vie
Packages Java Sont appelées par le conteneur
javax.servlet après l’instanciation (pour rendre une servlet opérationnelle) ou
javax.servlet.http
en fin de service (avant le garbage collecting)
Méthodes
GenericServlet Permettent des traitements spécifiques à l’application
Gestion du cycle de vie
Chargement / déchargement de données de configuration
Service
Activation de services annexes (logs, persistence…)
HttpServlet
Servlets Servlets
HttpServlet
surchager au moins une méthode de service
3
06/10/2009
Servlets Servlets
Servlets Servlets
4
06/10/2009
Container Web
Container Web
5
06/10/2009
Directives : <%@ code %> Exemple de code simple : une JSP qui compte le
Informations globales relatives à la page nombre de fois où elle a été appelée
Trois types de directives <html>
page : modifier les données de la page (import de packages, <head><title>Déclarations et expressions</title></head>
spécification d’un type de contenu, gestion des sessions) <body>
<%@ page import="java.util.*" %> <h1>Déclarations JSP</h1>
6
06/10/2009
Exemples S’utilise
Autres bibliothèques de code dans les attributs de tags JSP
« Quasi-standards » disponibles sur Internet
directement dans le corps de la page
• <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %> Syntaxe
• <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" ${ expression_el }
prefix="html" %>
• <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" Exemple
prefix="logic" %> <c:forEach var="customer" items="${customers}"
Que vous définirez pour une application donnée Customer: <c:out value="${customer}"/>
• Non présenté en cours
• Pointeur : http://adiguba.developpez.com/tutoriels/j2ee/jsp/taglib/ </c:forEach>
${ param["page"] }
${ header["user-agent"] }
Ne pas interpréter les EL Accès aux autres méthodes que celles de service
Utilisation de taglibs
7
06/10/2009
Packaging d’une application Web Java Déploiement d’une application Web Java
Un fichier .war (Web ARchive) Consiste à permettre à un conteneur Web d’exécuter l’application
Contenu
Dépôt dans un répertoire ad hoc du serveur
Fichiers Web de l’application (HTML, JSP, js, css…)
Exemple : répertoire « webapps » de Tomcat
Répertoire « META-INF » : fichiers de configuration
MANIFEST.MF : informations sur le zip
Lecture des fichiers war au (re)démarrage du serveur
Répertoire « WEB-INF » : contenu de l’application
Analyse du fichier war et des paramètres de configuration du
descripteur de déploiement
web.xml : descripteur de déploiement
Création du répertoire correspondant dans webapps
Répertoire « classes » : autres classes de l’application (beans…)
Répertoire « lib » : bibliothèques supplémentaires (jars) Mapping des URL de l’application vers le répertoire créé