Cours 5.3 : XML et les architectures N-tiers – Tier Présentation Les technologies XML Cours 5.3 : XML et les architectures N-tiers – Tier Présentation Janvier 2009 - Version 1.0 - (-)
TIER PRESENTATION : JSP 1/12 Définition des JSP (Java Server Page) : technologie destiné à la présentation des données permettant d’écrire des pages dynamiques en insérant des portions de code java dans une page html. D’un point de vue technique, une JSP est donc constituée : de code HTML dans lequel sont insérées… des portions de code java délimitées par des balises particulières.
TIER PRESENTATION : JSP 2/12 Caractéristiques : L’intégralité du code est portable puisque tout comme un code java, il sera compilé et exécuté comme servlet. A la différence d’une servlet, il sera compilé au vol (lors de chaque invocation) par un moteur de jsp. Les pages JSP permettent l’importation de classes java et donc l’accès à des objets java.
TIER PRESENTATION : JSP 3/12 On distingue cinq types de balises jsp : les directives (qui permettent le contrôle de la structure de la page), les expressions et les actions (qui permettent la manipulation dynamique de composants java ou autres), les déclarations et les scriplets (qui permettent d’effectuer des traitements écrits en java) :
TIER PRESENTATION : JSP 4/12 Les directives : Contenues entre les balises <%@ et %>, elles permettent le contrôle de la structure de la page, comme par exemple, inclure littéralement le contenu d’un fichier (include) ou importer une classe (import). Quelques exemples : <%@ include file="/toto.html" %> <%@ page import="java.util.*, java.net.*" %> <%@ page language="java" %> <%@ page contentType="text/plain" %> <%@ page session="true|false" %> <%@ page errorPage="PathToErrorPage" %> <%@ page isErrorPage="true|false" %>
TIER PRESENTATION : JSP 5/12 Les expressions : Contenues entre les balise <%= et %>, elles permettent d'intégrer des valeurs issues d’objet java dans le code HTML (pour cela, ces valeurs sont évaluées puis converties en chaînes de caractères). Un certain nombre d’objets implicites peuvent être directement accédés (confère slide suivant). Quelques exemples : <%= new java.util.Date().toString() %> <%= request.getRemoteHost( ) %>
TIER PRESENTATION : JSP 6/12 Les objets implicites : Ceux sont des objets java systématiquement accessibles via des variables prédéfinies. Quelques exemples de ces variables et de l’objet java auquel elle se réfère : request (objet java : HttpServletRequest) response (objet java : HttpServletResponse) session (objet java : HttpSession) out (objet java : response.getWriter( )) application (objet java : ServletContext)
TIER PRESENTATION : JSP 7/12 Les actions : Contenues entre les balises <%jsp: et />, elles permettent la manipulation dynamique (au moment où la page est demandée par un client et non à la traduction, comme c’est le cas de la directive include) de composants java ou autres : inclusion de fichier : <%jsp:include page="relativeURL" flush=true/> instanciation d’objet java (beans), <%jsp:usebean id="name" class="package.class“ scope="page|request|session|application"/> lecture ou modification d’une propriété objet java <%jsp:getProperty name="name" property="property"/> <%jsp:setProperty name="name" property="property“ value="1"/> redirection vers une nouvelle page <%jsp:forward page="autreURIou URL" />
TIER PRESENTATION : JSP 8/12 Les déclarations : Contenues entre les balises <%! et %>, elles permettent de déclarer des variables ou des méthodes de classe utilisables dans toute la page. Quelques exemples : <%! private int accessCount = 0 ; private int incrementCount ( ) { accessCount++; } %> <P> Nbre d'articles : <%= incrementCount( ) %> </P>
TIER PRESENTATION : JSP 9/12 Les scriplets : Contenues entre les balise <% et %>, elles permettent d'incorporer une portion de code java ayant accès aux variables (déclarations), beans (actions) et objets implicites. Quelques exemples : <% String nom = request.getParameter("nom"); out.println("Nom de l'utilisateur : " + nom); %>
EXEMPLE 1/3 Exemple : bean java
EXEMPLE 2/3 Exemple : servlet
EXEMPLE 3/3 Exemple : page JSP