Vous êtes sur la page 1sur 27

Les jsp:

Les JSP
Java server pages

1
Les JSP:

 Une JSP (JavaServer Pages) est une technologie utilisée pour créer des pages web
dynamiques. Elle permet d'incorporer du code Java directement dans une page
HTML, ce qui facilite la création de contenu web interactif.

 Les JSP (java server page) permettent de «Mélanger» du code HTML statique et du
code dynamiquement généré par le serveur.

 Une page JSP est une page HTML statique contenant des scripts (là où
nécessaire).

 Les scripts sont inséré à l’interieure de la balise <% …. %>

2
jsp= code HTML+ un peu de java

HTML

3
Les 3 Différents types de balises:

Remarque: une jsp est compliée en servlet java !

4
Les 3 Différents types de balises:

2- les scriptlet: <% ………%>


• Signifie: script-servlet.

• morceaux de code Java dans la page HTML (jsp)

Par exemple:

5
JSP :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Une première JSP</title>
</head>
<body>
<h1> page jsp </h1>
<%
int i=25;
Out,println(‘i=‘+ i);
%>
</body>
</html>

6
JSP :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Une première JSP</title>
</head>
<body>
<h1> page jsp </h1>
<% for (int i = 0 ; i < 3 ; i++) { %>
Bonjour tout le monde ! <br>
<% } %>
</body>
</html>

7
Les 3 Différents types de balises:

1- Les expressions : <%= ……… %>


qui sont évaluées et insérées:

Par exemple:

Nom= <%= nom %>

Équivalente à: out. Println(nom) ;

8
JSP :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Une première JSP</title>
</head>
<body>
<h1> page jsp </h1>
<%
for(int i=1;i<=6; i++)
out.println("<h"+i+"> un titre H"+i+"</h"+i+">");
%>
</body>
</html>

9
JSP :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Une première JSP</title>
</head>
<body>
<h1> page jsp </h1>
<%
for(int i=1;i<=6; i++) { %>
<h<%= i %> >titre h<%= i %> </h<%= i %>>
<% } %>
</body>
</html>

10
Les 3 Différents types de balises:

3- les déclarations : <%! ……%>


• permettent de définir des méthodes ou des variable qui seront insérés dans le corps
de la servlet (des variables globales)

• Exemple:

11
Variables de jsp:

En JavaServer Pages (JSP), il existe plusieurs variables prédéfinies (ou implicit


objects) qui sont disponibles pour une utilisation directe sans besoin de
déclaration. Ces variables sont disponibles dans chaque page JSP et offrent un
accès direct à diverses fonctionnalités et informations de l'environnement JSP.

Par exemple:

12
Variables de jsp:

1- L’objet request:

• C'est un objet HttpServletRequest qui représente la requête HTTP actuelle. Il


est utilisé pour récupérer les paramètres de requête, les attributs de
requête, etc.

13
Variables de jsp:

Remarque 1:

Pour récupérer les paramètres envoyés à une page jsp, on utilise l’objet
request:

supposons que vous ayez un paramètre nommé "paramName" que vous


souhaitez récupérer.

<%String valeur = request.getParameter("paramName");%>

14
Variables de jsp:

Remarque 2:

Pour connaître la méthode HTTP (GET ou POST) utilisée pour demander une
JSP, vous pouvez utiliser l'objet request en Java. L'objet request fournit une
méthode appelée getMethod() qui renvoie la méthode HTTP utilisée pour la
requête actuelle.

<%String method = request.getMethod();%>

15
Variables de jsp:

exemple 2: voci comment tester la méthode http (get ou post) utilisée pour
demander la page jsp:

<%
String method = request.getMethod();

if ("method".equals(‘GET’)) { *****}

else if ("method".equals(‘POST’)) {****}

%>

<!DOCTYPE html>
<html>
<body>
<p>Méthode HTTP utilisée : <%= method %></p>
</body>
</html>
16
Variables de jsp:

2- L’objet response:

• C'est un objet HttpServletResponse qui représente la réponse HTTP qui sera


renvoyée au client. Il est utilisé pour gérer la réponse HTTP, comme l'envoi
de données au client.

17
Variables de jsp:

Remarque:

• Le conteneur de servlet (tomcat) transforme a jsp en servlet.

• Lorsqu'un client envoie une requête pour une page JSP, si cette page n'a pas
déjà été compilée en servlet, le conteneur JSP la compile dynamiquement
en une servlet Java.
• Cette servlet générée à partir du fichier JSP est ensuite compilée en
bytecode Java.

18
Variables de jsp:

3- L’objet out:

• out: C'est un objet JspWriter qui représente le flux de sortie pour écrire des
données dans la réponse HTTP. C'est ce sur quoi vous utilisez généralement
la méthode out.println() pour écrire du contenu dans la page.

19
Variables de jsp:

3- L’objet session:

• C'est un objet HttpSession qui représente la session actuelle. Il est utilisé


pour stocker des informations qui doivent être conservées tout au long de la
session de l'utilisateur.

20
Variables de jsp:

4- L’object application:

• L'objet implicite application dans une page JSP (représente l'objet


ServletContext dans les servlet), qui a une portée partagée pour toutes les
sessions et toutes les requêtes dans une application web.

• Cet objet est principalement utilisé pour partager des informations entre
différentes parties de l'application.

Voici un exemple simple d'utilisation de l'objet application pour stocker et


récupérer des informations au niveau de l'application :

21
Variables de jsp:

L’object application:

On crée l’objet partagé dans la jsp1


<% // Stockage d'une valeur dans l'objet application
application.setAttribute("info", "Informations pour toute l'application");
%>

On le récupère dans la page jsp2:

<% // Récupération de la valeur à partir de l'objet application


String info = (String) application.getAttribute("info");
out.println("Informations de l'application : " + info);
%>

22
Les JSP:
Exemple 3:

Créer une JSP qui demande à l’utilisateur de saisir le username et le passeword. Si le


mot de passe est correct (= ‘123’) on affiche le message ‘Bienvenu’, sinon on réaffiche le
formulaire de connexion.

23
Les JSP:
<body>
<%
String method=request.getMethod();
String psd=request.getParameter("password");
String user=request.getParameter("username");
if(method.equals("POST")&& (psd.equals("123")))
{%>
<h1>
bienvenu: user= <%= user %>, password=<%= psd %>
(methode= <%= method %>)
</h1>
<% } else
{ %>

<h1>connexion jsp <%= new java.util.Date() %></h1>


<form action="" method="POST">
nom: <input type="text" name ="username"> <br>
password: <input type="password" name ="password"> <br>
<input type ="submit" value="connexion">
</form>
<% } %>
</body> 24

</html>
Les JSP:
• La jsp commence par récupérer le username est le password (par la méthode
getparameter().

• Lors du premier chargement de la jsp, elle est invoqué par la méthode GET et les
paramètres username et password ont la valeur null. La jsp affiche automatiquement
le formulaire de connexion.

• Quand l’utilisateur remplit le formulaire et clique ‘connexion’ on invoque la jsp par la


méthode POST. Dans ce cas, on teste si le mot de passe est correct ou non.

• Si le mot de passe est incorrect (différent de ‘123’), on réaffiche formulaire de


connexion.

• Si le mot de passe est correct, on affiche le message ‘Bienvenue’.

25
Les JSP:

26
JSP et servlets:

Est il mieux d’utiliser les servlet ou les JSP ??

27

Vous aimerez peut-être aussi