JSP - Enseeiht

Transcription

JSP - Enseeiht
Application web : vues utilisateurs
Composants d’une JSP
Application Web et J2EE
JSP
Pierre Gambarotto
<[email protected]>
Département Informatique et Math appli
ENSEEIHT
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Principe
J2EE et vues
JSP :Principe et cycle de vie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Principe
J2EE et vues
JSP :Principe et cycle de vie
Application web : vues utilisateurs
Composants d’une JSP
MVC et application Web : une première approche
4
action
3
résultat
couche métier
2
7
5
Contrôleur
8
1
vue
HTML
Pierre Gambarotto <[email protected]>
générateur
vue
6
vue
HTML
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Principe
J2EE et vues
JSP :Principe et cycle de vie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Principe
J2EE et vues
JSP :Principe et cycle de vie
HTML : Servlet ou JSP ?
Servlet produisant une vue : verbeux (out.println ...)
JSP : html et tags dynamiques : plus adapté
1
2
3
4
5
<html>
<body>
Au 4e top , i l sera exactement
<%= new j a v a . u t i l . Date ( ) %>
< / html>
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Principe
J2EE et vues
JSP :Principe et cycle de vie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Principe
J2EE et vues
JSP :Principe et cycle de vie
compilateur de JSP : de JSP à JSP Servlet
compilateur java : de Servlet à Bytecode
Document
texte
Document
texte
Bytecode
Java
JSP
JAVA
CLASS
Servlet
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Produire du html
le html de la JSP est transformé en instruction JAVA
utilisant println dans la JSP Servlet.
Une version JSP pour html, une pour XML
<%@ page contentType="text/html"%>
<%@ page pageEncoding="UTF-8" %>
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Contrôle de la compilation et de l’exécution de la JSP
Gestion des erreurs :
<%@ page errorPage="fichier" %>
JSP page erreur : <%@ page isErrorPage="true" %>
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Mettre du Java dans du HTML
mauvaise idée : mélange des métiers, mauvaise
maintenabilité
les éléments de scripts Java sont repris à l’identique dans
la Servlet générée
Déclaration : <%! declaration java %>
Evalutation d’expressions : <%= expression java %>
Code Java : <% code %>
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Exemple
1
2
3
4
5
6
7
8
9
10
11
<html>
<body>
<% i n t [ ] t a b =new i n t [ ] { 4 , 8 , 3 , 4 , 9 , 6 , 3 } ; % >
<% f o r ( i n t i =0; i <7; i ++) { %>
l a v a l e u r de l a case <%= i +1%> e s t <%= t a b [ i ]%>
< / br>
<% }%>
< / body>
< / html>
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
${...}
évaluation en chaînes de caractères
activation : <%@ page isELIgnored ="false" %>
évaluation d’expressions : ${2+3}
évaluaton de variables : cherche la variable dans le
contexte de la page, i.e. dans les objets page, request,
session, servletContext dans cet ordre.
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Objets implicites
pageContext contexte de la page. Permet d’accéder à
servletContext contexte de la Servlet associée
session
request
response
param paramValues associe un nom de paramètre à sa valeur
header headerValues
objets scope : pageScope,requestScope,
sessionScope, applicationScope
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Java Bean : conteneur de propriétés
JavaBean : Objet Java stockant des propriétés
propriétés : différent des variables de la classe.
classe publique, constructeur sans argument public
Propriété X : méthodes publiques getX() et setX().
introspection
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
<jsp:useBean id="beanName"
class="fully_qualified_classname" scope="scope"/>
<jsp:useBean id="beanName"
class="fully_qualified_classname" scope="scope">
<jsp:setProperty .../>
</jsp:useBean>
jsp:useBean crée le bean s’il n’existe pas déja. scope :
application (contexte),session, request, page
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
<jsp:getProperty name="beanInstanceName" property="p
${scope.beanInstanceName.propertyName}
<jsp:setProperty name="beanInstanceName"
property="*" |
property="propertyName" [ param="parameterName" ] |
property="propertyName"
value="{stringLiteral| <%= expression %>}"
/>
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
<%@ include file="filename" %> : inclut le contenu
d’un
<jsp:include page="PageIncluse" /> : utilise
dans la Servlet générée la méthode include d’un
RequestDispatcher
<jsp:forward page="Page2forward" /> : idem
mais forward.
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Plan
1
Application web : vues utilisateurs
Principe
J2EE et vues
JSP :Principe et cycle de vie
2
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
Pierre Gambarotto <[email protected]>
Appli Web et J2EE
Application web : vues utilisateurs
Composants d’une JSP
Contenu statique
Directives de configuration
Script JAVA
Langage d’expression
Bean et utilisation dans une JSP
JSP et utilisation d’autres ressources
Tags et librairie
créer et utiliser de nouvelles balises
Déclaration d’une librairie de tag :
<%@ taglib prefix="u" [tagdir=/WEB-INF/tags/dir
| uri=URI ] %>
Utilisation :
<prefix:tag attr1="value" ... attrN="value" />
<prefix:tag attr1="value" ... attrN="value" >
...
</prefix:tag>
Pierre Gambarotto <[email protected]>
Appli Web et J2EE