Java, C'Est Facile JSP : Créer Et Déployer Un Premier JSP Avec Tomcat
Java, C'Est Facile JSP : Créer Et Déployer Un Premier JSP Avec Tomcat
1
07/10/2017
Une page JSP contient un modèle de document statique et des balises spécifiques
pour inclure du texte ou exécuter une partie de la logique applicative.
Une JSP est un fichier texte ( .jsp ) contenant du code HTML et des fragments de
code Java contenus dans des balises spécifiques, exécutés sur le serveur WEB
En fait, le fichier JSP est traduit en servlet qui est compilée, puis instanciée lors de
son invocation via une URL
<HTML>
<BODY>
</BODY></HTML>
2
07/10/2017
<HTML>
<BODY>
</HTML>
<HTML>
<BODY>
<% out.println( "afficher la date système " );
java.util.Date madate = new java.util.Date();%>
</BODY>
</HTML>
3
07/10/2017
Dans une page JSP on peur cohabiter les instructions de HTML générique :
<TABLE BORDER=2>
<TR>
<TD>Number</TD>
<TD><%= i+1 %></TD>
</TR>
<% }%>
</TABLE>
out.println( request.getRemoteHost());%>
4
07/10/2017
atelier1
atelier2
Réaliser le formulaire suivant qui affiche les
paramètres donnés dans l’url ou les valeurs par défaut
5
07/10/2017
formulaire.jsp
6
07/10/2017
Une directive
Exemple :
<%@ page import="java.util.*" %>
<HTML>
<BODY>
<% Date date = new Date();…….
7
07/10/2017
Les fonction dans les pages JSP sont fréquemment sollicités afin d’itérer la
même procédure plusieurs fois.
Exemple :
8
07/10/2017
<%
String[] noms = { "ahmed", "ali"};
for(int i = 0; i < noms.length; i++){
out.println(noms[i]);
}
%>
9
07/10/2017
<%!
private int accessCount = 0;
private int incrementCount() {return
accessCount++;}
%>
…
<H2>Nombre et liste des articles</H2>
Nombre d'articles :
<%= incrementCount() %>
10
07/10/2017
Directives
Valeurs possibles :
– <%@ page language="java"
– <%@ page import="java.util.*, java.net.*" %>
– <%@ page contentType="text/plain" %>
– <%@ page session="true|false " %>
– <%@ page errorPage="pathToErrorPage" %>
– <%@ page isErrorPage="true|false" %>
– <%@ page …
11
07/10/2017
Valeurs possibles :
– <%@ include file="chemin relatif du fichier" %>
– pour se référer au home dir du serveur Web :
<%@ include file="/toto.html" %>
Interprété littéralement, le fichier peut être
– HTML, scripting elements, directives, actions, ...
L'insertion se fait au moment de la traduction de la page...
Variables prédéfinies
12
07/10/2017
Collaboration de JSP
Collaboration de JSP
Rappel sur la collaboration (voir partie Servlet)
partage d’information : un état ou une ressource
partage du contrôle : une requête
Processus identique à la collaboration de Servlet pour le
partage d’information et de contrôle
Partage d’information
Utilisation du contexte pour transmettre des attributs
Méthode getContext(…), setAttribute(…) et getAttribute(…)
Partage du contrôle
Utilisation des tags action JSP include et forward
13
07/10/2017
Partage d’information
Le partage se fait grâce à l’objet implicite application qui
est de type ServletContext
Exemple : transmettre un simple attribut à tout un contexte
Page1.jsp :
Partage d’information
Faire un test de partage d’information entre
deux jsp
14
07/10/2017
Partage du contrôle
forward:
Exemple1 : renvoi sans passage de paramètres
<jsp:forward page="page.html" />
Exemple2 : renvoi avec passage de paramètres
<jsp:forward page="page.html" >
<jsp:param name="defaultparam" value="nouvelle" />
</jsp:forward>
Remarque :
ne pas modifier l’objet response
Ne pas modifier l’objet request après le renvoi
Include :
Exemple1 : inclusion sans passage de paramètres
<jsp:include page="page.html" />
Exemple2 : inclusion avec passage de paramètres
<jsp:include page="page.html" >
<jsp:param name="defaultparam" value="nouvelle" />
</jsp:include>
Partage du contrôle
Remarques :
Le partage du contrôle et plus précisément l’inclusion et le
renvoi par des balises actions ne permettent que le transfert
d’attributs de types chaînes de caractères.
Nécessité d’utiliser RequestDispatcher et les objets
implicites request et response pour transférer des attributs objets
Exemple pour une inclusion (même chose pour un renvoi)
<% RequestDispatcher dispatch =
request.getRequestDispatcher("/fichier.jsp");%>
<% request.setAttribute("attribut1","bonjour"); %>
<% dispatch.include(request,response); %>
15
07/10/2017
Partage du contrôle
Nécessité d’utiliser RequestDispatcher et les objets
implicites request et response pour transférer des attributs objets
16
07/10/2017
17
07/10/2017
ServletFormulaire2
ServletFormulaire2
18
07/10/2017
formulaire2.jsp
19