From 2dd5cce1b65e1af7a70e40de16a9033e73e91aa7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kim=20Nguy=E1=BB=85n?= Date: Mon, 3 Nov 2014 13:43:01 +0100 Subject: [PATCH] . --- xpi/xpi_08.xhtml | 306 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 306 insertions(+) create mode 100644 xpi/xpi_08.xhtml diff --git a/xpi/xpi_08.xhtml b/xpi/xpi_08.xhtml new file mode 100644 index 0000000..98f30fd --- /dev/null +++ b/xpi/xpi_08.xhtml @@ -0,0 +1,306 @@ + + + + + JSP + + + + + + + + + + + + + + + + + + + + +
+

XML et Programmation Internet

+

Cours 8

+
kn@lri.fr +
+

Principe

+
+

Programmation Web coté serveur

+

(rappel) génération de pages-web dynamiques (i.e. dont + le contenu est calculé en fonction de la requête + HTTP). Plusieurs choix de langage côté serveur. +

+ + +
+
+

JSP

+

JSP (Java Server Pages) est un framework permettant de + créer des pages Web dynamiques en Java. Il fait partie de la + suite Java EE (Entreprise Edition). Rappel : +

+ +
+
+

Architecture

+

Nécessite un serveur Web particulier. Le standard est Apache Tomcat.

+ +
+
+

Exemple

+ + + + + + test JSP + + + + Page created on + <%]]> + java.util.Date d = new java.util.Date(); + out.println(d.toString()); + + + ]]> +
+
+

balises spéciales JSP

+

JSP introduit 4 balises spéciales qui sont interprétée par le + serveur Tomcat. +

+ +
+
+

Exemple complet

+ + <%@ page import="java.util.Date" %> + + + test JSP + + + <%! + Date maDate; + + Date maMethode() { + return new Date(); + } + %> + + <% + maDate = maMethode(); + %> + Page created on <%= maDate %> + + ]]> +
+
+

Objets par défaut

+

Le code placé dans les balises spéciales a accès à certains objets + automatiquement déclarés. Parmi les principaux : +

+ +
+ +
+

Classe JspWriter

+

Fonctionne comme System.out (on peut donc + appeler .print/.println) mais correspond a un endroit + particulier de la page HTML

+
+ +
+

Classe HttpSession

+

Propose plusieurs méthodes :

+ //Renvoie la valeur stockée sous le nom name + Object getAttribute(String name) + + //Stocke l'objet value sous le nom name + void setAttribute(String name, Object value) + + //Supprime l'association name value + void removeAttribute(String name) + + //Définit la durée (en secondes) d'inactivité d'une session + void setMaxInactiveInterval(int interval) + + //Renvoie la durée (en secondes) d'inactivité d'une session + int getMaxInactiveInterval() + + //Renvoie la date (en mili-secondes depuis EPOCH) de dernière utilisation + long getLastAccessedTime() + + //Détruit la session en cours + void invalidate() +
+
+

Classe HttpServletRequest

+

Propose plusieurs méthodes :

+ //Récupère la valeur des cookies: + String[] getCookies() + + //Récupère les paramètres passés par un formulaire : + Map<String, String[]>getParameterMap() + + //Récupère un paramètre particulier + String[]getParameter(String name) + +
+
+

Classe HttpServletResponse

+

Propose plusieurs méthodes :

+ //Renvoie une erreur HTTP (404 par exemple) + void sendError(int code) + + //Ajoute un cookie au site + void addCookie(Cookie c) + + //Effectue une redirection temporaire + void sendRedirect(String url) + +
+
+

Classe Cookie

+

Propose plusieurs méthodes :

+ //Constructeur + Cookie(String name, String value) + + //Expiration en secondes + void setMaxAge(int a) + +
+

Spécificités de Tomcat

+
+

Chemins par défaut

+

Par défaut le serveur Tomcat tourne sur le port 8080 (configurable)

+ +

(ce sera configuré légèrement différement au PUIO)

+
+

Accès aux classes JSP

+
+

Il faut avoir le fichier jsp-api.jar dans le + classpath

+ javac -cp /chemin/vers/jsp-api.jar MaClasse.java +

On peut ensuite copier le .class + dans WEB-INF/classes +

+ + -- 2.17.1