(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 (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 :
Nécessite un serveur Web particulier. Le standard est Apache Tomcat.
test JSP
Page created on
<%]]>
java.util.Date d = new java.util.Date();
out.println(d.toString());
]]>
JSP introduit 4 balises spéciales qui sont interprétée par le serveur Tomcat.
<%@ page import="java.util.Date" %>
test JSP
<%!
Date maDate;
Date maMethode() {
return new Date();
}
%>
<%
maDate = maMethode();
%>
Page created on <%= maDate %>
]]>
Le code placé dans les balises spéciales a accès à certains objets automatiquement déclarés. Parmi les principaux :
Fonctionne comme System.out (on peut donc appeler .print/.println) mais correspond a un endroit particulier de la page HTML
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()
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)
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)
Propose plusieurs méthodes :
//Constructeur
Cookie(String name, String value)
//Expiration en secondes
void setMaxAge(int a)
Par défaut le serveur Tomcat tourne sur le port 8080 (configurable)
(ce sera configuré légèrement différement au PUIO)
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