Chap 2
Chap 2
Chap 2
UADB
L3 D2AW
1 Introduction
3 Les directives
La directive page
La directive include
4 Objets implicites
+ Un JSP est une page web (pas une classe Java) qui combine du
HTML (pour la partie statique) et du code java (pour la partie
dynamique).
+ Dans le modèle MVC, les JSP sont utilisés pour la vue (la
présentation de la réponse).
Exemple de servlet
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Heure</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>IL est " + hrtxt + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
<%!
LocalTime heure = LocalTime.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("hh:mm:ss");
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Heure</title>
</head>
<body>
<h1>Il est <%= heure.format(dtf) %></h1>
</body>
</html>
Conteneur web
Compilation du servlet
non (.java → .class)
Initialisation : jspInit()
Initialisation de paramètres
Allocation de ressources
Service :
_jspService(...)
reception des requêtes
génération de la réponse
Destruction : jspDestroy()
Désallocation de resources
Les expressions EL
L’élément JSP:plugin
4 le scriptlet pour les blocs d’instructions tels que les boucles, les
traitements conditionnels, etc.
Les déclarations
+ Les déclarations sont utilisées pour déclarer les variables et les
méthodes qui seront utilisées dans la page JSP.
+ Syntaxe : <%! déclaration %>
+ Exemple
<%!
float prixUnitCahier = 100f;
int quantite = 5;
public float CalculerTotal(float prix, int quantite){
float total = prix * quantite;
return total;
}
%>
+ Remarque
Il est possible d’insérer plusieurs balises déclaration dans une
page JSP. Lors de la conversion JSP → servlet toutes ces
déclarations seront regroupées dans le servlet résultant.
Dr. Ahmad Khoureich Ka (UADB) JSP - Servlet L3 D2AW 11 / 24
Les éléments de scripts Les expressions
Les expressions
+ Exemple :
<body>
Le prix d'un cahier est: <%= prixUnitCahier %><br/>
Le nombre de cahier acheté est: <%= quantite %><br/>
Le total à payer est:
<%= CalculerTotal(prixUnitCahier, quantite) %>
</body>
Les scriptlets
+ Exemple :
<body>
<%
float aPayer = CalculerTotal(prixUnitCahier, quantite);
if (aPayer >= 5000f) {
%>
Vous avez une réduction de 1500 F.
<% } else {%>
<b>1500 F de réduction à partir de 5000 F d'achats.</b>
<% }%>
</body>
Les scriptlets
Les directives
+ Quelques attributs
contentType
import
errorPage
isErrorPage
L’attribut contentType
+ Exemple :
Le contenu de la réponse est du HTML
<%@ page contentType="text/html" %>
L’attribut import
+ Exemple :
Importer la classe LocalTime
<%@page import="java.time.LocalTime"%>
L’attribut errorPage
+ Exemple :
Afficher la page erreur.jsp lorsqu’une erreur survient lors de
l’exécutions de cette page.
<%@ page errorPage="erreur.jsp" %>
L’attribut isErrorPage
+ Exemple :
Indiquer que cette page est une page d’erreur.
<%@ page isErrorPage="true" %>
+ Syntaxe
<%@ include file="url_relative" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>Aujourd'hui</title>
</head>
<body>
<%@include file="WEB-INF/jspf/dat.jspf" %>
</body>
</html>
<%!
LocalDate dat = LocalDate.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy");
%>
Objets implicites