Les Java Servlet Pages (JSP)

63 downloads 130 Views 382KB Size Report
4 JSP & JavaBeans ... page import="java.io.*, java.util.*" %>. Thierry Lecroq (Univ . Rouen). JSP ... la transmission de l'exception pour un éventuel traitement.
Les Java Servlet Pages (JSP) Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE

Thierry Lecroq

(Univ. Rouen)

JSP

1 / 31

Plan

1

Introduction

2

Fonctionnement

3

Inclusion/Délégation

4

JSP & JavaBeans

5

Standard Tag Library

Thierry Lecroq

(Univ. Rouen)

JSP

2 / 31

Introduction

(1/4)

Description d'une JSP

JSP = Java Servlet Pages Les JSP sont comparables à PHP Langage de script côté serveur Une page JSP contient : du contenu statique (texte simple, XHTML, XML, . . . ) du code JSP qui produit dynamiquement du contenu

Thierry Lecroq

(Univ. Rouen)

JSP

3 / 31

Introduction

(2/4)

Premier exemple

hello.jsp

" −//W3C/ /DTD XHTML

1.0

S t r i c t / /EN"

" h t t p : / / www . w3 . o r g /TR/

x h t m l 1 /DTD/ x h t m l 1 − s t r i c t . d t d "> < t i t l e >Ma

p r e m i&e g r a v e ; r e

page

JSP



! ! ! !



< l a b e l >P r&e a c u t e ; nom

:



t y p e =" s u b m i t "

< i n p u t

t y p e =" t e x t "

name=" p r e n o m "

s i z e =" 3 0 ">



Thierry Lecroq

(Univ. Rouen)

JSP

4 / 31

Introduction

(3/4)

Traduction, compilation, instanciation, . . .

Une JSP est transformée en servlet Fonctionnement : 1

2

3

4

5

requête sur une JSP une servlet compare les dates de la JSP et de sa servlet si la servlet de la JSP est plus ancienne que la page : I

traduction de la JSP en servlet (dérivation)

I

compilation de la servlet (cf. répertoire

tomcat/work)

si la servlet de la page n'a pas encore été chargée I

chargement de la servlet

I

instanciation

I

initialise la servlet avec la méthode

jspInit

invocation de la méthode jspService Appel de jspDestroy lors du déchargement de la servlet

Thierry Lecroq

(Univ. Rouen)

JSP

5 / 31

Introduction

(4/4)

Quelques éléments JSP

: directives valables pour la page : déclarations : scriptlet (= script : tests, itération, . . . ) : récupération d'une valeur d'expression : inclusion à l'exécution : délégation à un autre composant : utilisation d'un java bean

Thierry Lecroq

(Univ. Rouen)

JSP

6 / 31

Fonctionnement

(1/11)

Directives de page

Ces directives s'appliquent à la page Syntaxe

Exemples

Thierry Lecroq

(Univ. Rouen)

JSP

7 / 31

Fonctionnement

(2/11)

Paramètres d'exécution d'une page JSP

L'exécution d'une JSP est paramétrable via la directive page spécie la taille du buer où est renvoyée la réponse un petit buer allège en charge le serveur d'application et envoie la réponse plus rapidement. spécie la page (JSP ou non) vers laquelle le serveur d'application renvoie lorsqu'une exception non gérée est lancée par la JSP. La directive permet de spécier si la page de renvoie est une page d'erreur et lui autorise ainsi la transmission de l'exception pour un éventuel traitement. Thierry Lecroq

(Univ. Rouen)

JSP

8 / 31

Fonctionnement

(3/11)

Exemple

erreur.jsp c h a r s e t =UTF−8" %>



parametre.jsp





Thierry Lecroq

(Univ. Rouen)

JSP

19 / 31

Inclusion/Délégation

(3/4)

Délégation

Délégation à un autre composant web Syntaxe ou

...

Thierry Lecroq

(Univ. Rouen)

JSP

20 / 31

Inclusion/Délégation

(4/4)

Exemple

delegation.jsp



" −//W3C/ /DTD XHTML

1.0

S t r i c t / /EN"

" h t t p : / / www . w3 . o r g /TR/

x h t m l 1 /DTD/ x h t m l 1 − s t r i c t . d t d "> < t i t l e >JSP

avec

d e l e g a t i o n

name="nom"

v a l u e =" Bob "

/>



parametre.jsp

" −//W3C/ /DTD XHTML

1.0

S t r i c t / /EN"

" h t t p : / / www . w3 . o r g /TR/

x h t m l 1 /DTD/ x h t m l 1 − s t r i c t . d t d "> < t i t l e > A f f i c h a g e

d e l e g u e



Thierry Lecroq

(Univ. Rouen)

JSP

21 / 31

JSP & JavaBeans

(1/9)

Dénition

Denition (JavaBean) Classe java respectant certaines conventions (API) faisant d'elle un composant java réutilisable et facilement intégrable dans des applications.

Les JSP orent des balises pour interagir avec un JavaBean

Thierry Lecroq

(Univ. Rouen)

JSP

22 / 31

JSP & JavaBeans

(2/9)

Contraintes de conception

Pour être un JavaBean, une classe doit : être Serializable, posséder un constructeur sans argument, avoir des accesseurs sur ses attributs respectant des conventions de nommage ; par exemple : attribut String name ⇒ public void setName(String) ⇒ public String getName()

contenir les méthodes d'interception d'évènements nécessaires.

Thierry Lecroq

(Univ. Rouen)

JSP

23 / 31

JSP & JavaBeans

(3/9)

Utilisation dans les JSP

ou