Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION
Comme
les servlets, servent crer du contenu Web de manire dynamique. JSP sont des documents de type texte, contenant du code HTML ainsi que des scriptlets (et/ou des expressions). pages tant bases sur du code HTML ou XML, elles peuvent tre cres et manipules par du personnel non technique.
2
Les
Ces
INTRODUCTION
INTRODUCTION
Les
pages JSP s'excutent sous la forme de servlets. Donc disposent du mme cycle de vie. Elles disposent du mme support pour la gestion des sessions. Elles peuvent galement charger des JavaBeans et appeler leurs mthodes accder des sources de donnes se trouvant sur des serveurs distants effectuer des calculs complexes.
4
INTRODUCTION
la dmarche de la plateforme J2EE, les servlets serviront plus traiter les requtes des clients alors que les pages JSP servirons plus la prsentation. ce Chap., nous allons exploiter toutes les possibilits des pages JSP.
Ds
ne pouvons pas crire du code Java n'importe o dans une page HTML. Nous avons besoin d'un moyen pour indiquer au serveur o s'arrte le code HTML et o commence le code Java. Pour cela la spcification JSP dfinit des balises pour dlimiter le code Java. Ces balises permettent de dfinir trois catgories d'lments : 1. les directives ; 2. les scripts ; 3. les actions.
LES DIRECTIVES
Les
directives sont des lments fournissant au conteneur des informations relatives la page. Ils existent : 1. page : < %@ page attributs %> ou en format XML <jsp:directive.page attributs /> 2. include : < %@ include file = "..." %> ou en format XML <jsp:directive.include file = "..." />
7
Directive
Description Ex: <%@ page import = "java.io.*, java.util.*" %> True ou false indique que la page fait partie d'une session. La valeur par dfaut est true. Indique si la page peut tre employe pour des accs simultans. La valeur par dfaut est true. La valeur de cet attribut peut tre une chane quelconque dcrivant le contenu de la page, ou sa fonction, son auteur, etc. Indique l'URL de la page qui doit tre renvoye au client en cas d'erreur. Cet attribut indique si la page est une page d'erreur. Sa valeur par dfaut est false. Dfinit le type de contenu de la page. Par defaut text/html Le jeu de caractres utiliss pour la page. La valeur par dfaut est ISO-8859-1
8 Le nom du fichier inclure l'emplacement de la balise. Il peut s'agir d'une page HTML ou JSP, ou du fragment de page.
Page
info
LES DIRECTIVES
Une
page JSP peut contenir plusieurs directives page. la directive include est employe pour inclure une autre page, ou un fragment de page, dans la page JSP. Il peut s'agir d'un en-tte ou d'un pied de page. Cette directive est utile chaque fois qu'un contenu standard doit tre rutilis dans plusieurs pages. L'inclusion a lieu avant la traduction de la page en code Java.
LES SCRIPTS
Les 1. les
lments de script permettent de placer du code java dans les pages JSP. Il en existe trois formes :
dclarations : <%! dclaration %> ou en format XML <jsp:declaration>dclaration</jsp:declaration> 2. les scriptlets : <% fragment de code %> ou en format XML <jsp:scriptlet>fragment de code</ jsp:scriptlet>
3. les
LES DCLARATIONS
Une
dclaration doit tre employe pour dclarer pour initialiser un attribut pour dclarer une mthode Par exemple,
Nous
pouvons galement dfinir des mthodes qui seront utilises ensuite dans l'ensemble de la page
Les
attributs ou les mthodes ainsi dclares peuvent tre appeles par n'importe quel code (scriptlets) prsent dans toute la page
11
LES SCRIPTLETS
Les
scriptlets contiennent des instructions Java. Les scriptlets peuvent contenir n'importe quel code Java valide. Par exemple,
Tout
ce qui se trouve entre les dlimiteurs de scriptlets (<% et%>) est du code Java. Ce qui se trouve l'extrieur est le contenu renvoy au client. Scriptlet valide
12
LES SCRIPTLETS
la
diffrence entre les scriptlets et les dclarations 1. Les scriptlets ne peuvent tre employes pour dfinir des mthodes. Seules les dclarations permettent cela. 2. Les variables dclares dans une dclaration sont des attributs, accessible dans toutes les scriptlets de la page. 3. Les variables dclares dans une scriptlet sont des variables locales et ne sont donc visibles qu' l'intrieur de la scriptlet dans laquelle elles sont dfinies.
13
LES EXPRESSIONS
Les
expressions sont utilises pour renvoyer directement au client 1. la valeur d'une variable 2. la valeur retour d'une mthode. Exemple
les dclarations et les scriptlets contiennent des lignes de code Java et doivent donc tre systmatiquement termines par des points-virgules. En revanche, les expressions ne doivent pas en 14 comporter.
LES COMMENTAIRES
Il
est possible d'utiliser des commentaires HTML dans les pages JSP. Ces commentaires apparaissent dans la page renvoye au client
Il
15
allons mettre en uvre une application Web qui permet de grer une petite messagerie Voici, ci-dessous la page d'accueil d'un tel site :
16
BASE DE DONNES
17
18
19
20
BIENVENUE.JSP
21
*.JSPF
22
*.JSPF
23
LES ACTIONS
Egalement appeles actions standards. actions standards sont dfinies par la spcification JSP. est possible de dfinir de nouvelles actions et les utiliser dans nos pages JSP.
Les
Il
24
LES ACTIONS
La spcification JSP 2.0 dfinit les actions standards suivantes : 1. <jsp:useBean> 2. <jsp:setProperty> 3. <jsp:getProperty> 4. <jsp:param> 5. <jsp:include> 6. <jsp:forward> 7. <jsp:plugin>, <jsp:params>, <jsp:fallback> 8. <jsp:attribute> 9. <jsp:body> 25 10. jsp:invoke> et <jsp:dobody> <
LES JAVABEANS
Dans les pages JSP, il est toujours trs difficile de lire ce mlange la fois de code HTML et de code Java. De prfrable, utiliser une criture plus proche du HTML en utilisant la syntaxe du XML tout en faisant rfrence, malgr tout, des classes Java. dans la page Web .jsp, nous retrouvons quand mme un peu de code Java pour pouvoir utiliser ces classes. Les JavaBeans permettent de composer une structure particulire sur ces classes respectant un canevas standard, sans code Java dans la page JSP.
26
L'ACTION <JSP:USEBEAN>
Cet lment permet de rendre un JavaBean accessible dans la page. Un JavaBean est simplement une classe Java respectant un certain nombre de conventions. Les deux plus importantes sont : 1. La classe d'un JavaBean doit possder un constructeur sans arguments. 2. La classe d'un JavaBean doit possder un ensemble de proprits.
27
L'ACTION <JSP:USEBEAN>
L'action <jsp:useBean> prend le paramtres suivants : 1. id : Le nom utilis pour accder au bean dans le reste de la page. Il doit tre unique. Il s'agit en fait du nom de l'objet rfrenant l'instance de la classe du bean donn par le paramtre class. 2. scope : La porte du bean. Les valeurs possibles sont page, request, session et application. La valeur par dfaut est page. 3. class : Le nom de la classe bean. 4. type : Le type de la variable rfrenant le bean.
28
L'ACTION <JSP:SETPROPERTY>
Cette action permet de modifier la valeur d'une proprit d'un JavaBean. Elle prend les attributs suivant : 1. name - l'id du bean. 2. property - le nom de la proprit modifier, La valeur peut nommer explicitement une proprit du bean. La valeur peut galement tre ( * ). 3. value - contient la nouvelle valeur affecter la proprit. 4. param - le nom du paramtre de la requte contenant la valeur affecter la proprit. Si les attributs param et value ne sont pas prsents l'action <jsp:setProperty> tente d'utiliser le 29 paramtre de la requte portant le mme nom que la proprit.
EXEMPLE : <JSP:SETPROPERTY>
30
L'ACTION <JSP:GETPROPERTY>
Cette
Elle
possde les attributs suivant : 1. name - l'id du bean 2. property - le nom de la proprit lire.
Les
attributs name et property sont toujours requis. valeur de la proprit est incluse dans la rponse
La
31
L'ACTION <JSP:GETPROPERTY>
Lorsque
la page JSP est traduite en code Java, cette action est remplace par un appel aux mthodes getNom() et getPrnom().
32
EXEMPLE
Le
javaBean Personne qui rcupre les informations saisies par l'utilisateur afin de les enregistrer dans la base de donnes avec une mise en majuscule adapte La page JSP <nouvelutilisateur.jsp> qui s'occupe du formulaire de saisie. La page JSP <validerutilisateur.jsp> qui rcupre les informations issues du formulaire, se met ensuite en relation avec le JavaBean Personne et affiche le rsultat suivant le comportement du JavaBean.
33
EXEMPLE
34
35
EXEMPLE
36
EXEMPLE
37
EXEMPLE
38
39
40
41
pages JSP offrent la possibilit d'inclure d'autres pages ou servlets dans la sortie renvoye au client la requte une autre page ou une
Transmettre
servlet
Grce
42
L'ACTION INCLUDE
Il
peut arriver que de nombreuses pages JSP contiennent des fragments semblables, voir identiques exemple, le haut d'une page Web ou encore un des lments de la charte graphique. est alors pratique d'isoler ces fragments dans des fichiers spars et de les inclure dans les diffrentes pages. approche facilite la maintenance du site
43
Par
Il
Cette
L'ACTION INCLUDE
Il
Directive
- <% include file ="..." %> : La ressource est incluse au moment de la traduction de la page en code Java, il s'agit ici d'une inclusion statique. - <jsp:include page = "..." /> - Contrairement aux directives qui ne servent qu'au moment de la traduction/compilation de page, les actions sont excutes lors du traitement d'une requte.
44
Action
L'ACTION FORWARD
Une
requte peut tre renvoye une autre page JSP, un servlet ou mme une simple page HTML :
Tous
les objets dont la porte est au moins la requte sont accessibles dans cette autre page.
45
ERREURS ET EXCEPTIONS
Il
est possible que notre application Web ne fonctionnement correctement lorsque par exemple le serveur de base de donnes est momentanment hors connexion. le client peut recevoir au travers de son navigateur
46
ERREURS ET EXCEPTIONS
Une
page peut rediriger les erreurs provenant d'une exception vers une autre page (erreur.jsp). Il faut : 1. dclarer dans la page erreur.jsp qu'elle traite les erreurs
2. dclarer
47