Upload
sowhat-01
View
1
Download
0
Embed Size (px)
Citation preview
Introduction JSP (Java Server Pages 1.x) java-jsp
Internet et Education CFA 6/12/00
Originauxurl: http://tecfurl: http://tecf
Auteurs et ve Daniel K. Sch Version: 0.1 (
Prrequis Java de base
Module techni Avoir une id
Module techni TE
Introduction JSP(Java Server Pages 1.x)
Code: java-jsp
a.unige.ch/guides/tie/html/java-JSP/java-jsp.html
a.unige.ch/guides/tie/pdf/files/java-jsp.pdf
rsionneider - Vivian Syntetamodifi le 12/6/00 par VS)
que prcdent: java-introe du standard "CGI"que prcdent: cgi-intro
Introduction JSP (Java Server Pages 1.x) - . java-jsp-2
Internet et Education CFA 6/12/00
Pages activesModule techni
Autres moduModule techni )Module techni
Documentatiurl: http://ja imprimez uurl: Doc localurl: http://ja
Objectifs Faire des sim ( faire: utilis
Remerciemen Yan Bodain, eter) TE
avec PHP (ou quivalent), conseill mais pas obligatoire.que prcdent: php-html
lesque suppl.: java-jhtml (anciens Java Server Pages 0.9, dconseillque suivant: java-servl
onva.sun.com/products/jsp/syntax.html (Sun JSP Syntax cards)ne carte pour accompagner ces slidese: http://tecfa.unige.ch/guides/jsp/pointers.htmlva.sun.com/products/jsp/
ples pages actives avec JSPation de "Beans")
ts:CRIM Formation (correction dune erreur sur request.getParam
Introduction JSP (Java Server Pages 1.x) - 1. Table des matires dtaille java-jsp-3
Internet et Education CFA 6/12/00
1. Table des1. Table des m 32. Introduction 4
2.1 Ecrire des p 52.2 Faire une so 62.3 Gestion des 7
3. Utilisation d 84. Traitement d 9
4.1 Principe de b 94.2 Traitement s 114.3 Debugging d 144.4 Vrification 15
5. Session trac 186. JSP inside 19 TE
matires dtailleatires dtaille JSP (Page Compilation)ages JSP simplesupe HTML/Java plus mlangeerreursautres classes JAVAe formulairesase du traitement de requtesimple de formulairese paramtresde linput et HTML conditionnelking
Introduction JSP (Java Server Pages 1.x) - 2. Introduction JSP (Java Server Pages) java-jsp-4
Internet et Education CFA 6/12/00
2. Introduct
Principe de base Permet dcr XML tags et Compile et e La traduction
le rsultat ( e Aprs chaq
Utilit: Cration de p Analyse de fo possibilit d accs toute TE
ion JSP (Java Server Pages)
:ire des pages hybrides HTML/Java (comme PHP)scripts en Java:xcute la source comme "servlet" se fait automatiquement pour tous les fichiers *.jsp
servlet source et classe) est place dans un rpertoire du systmue update dun fichier *.jsp la classe servlet est recompile
ages "design"rmulaires
interfaage avec des "vrais" servlets classe Java mise disposition (notamment des "beans")
Introduction JSP (Java Server Pages 1.x) - 2. Introduction JSP (Java Server Pages) java-jsp-5
Internet et Education CFA 6/12/00
2.1 Ecrire de pas besoin d Le code Java
voir exemp
Exemple 2-1: JSP
url: Programmurl: Source: h
JSP
out est un ob Curieux: voir TE
s pages JSP simplesimporter les classes (cest fait par le serveur!) est dlimit dans une page HTML par des tags spciaux
le 2-2 JSP simple (2) [6]
simple (1)
e: http://tecfa.unige.ch/guides/jsp/ex/demo1.jspttp://tecfa.unige.ch/guides/jsp/ex/demo1.jsp.text
Test
nt i = 0; i < 5; i++) out.println ("" + i);
jet "gratuitement" mis votre disposition pour les "sorties" -6. JSP inside [19] pour le Java que cette page gnre
Introduction JSP (Java Server Pages 1.x) - 2. Introduction JSP (Java Server Pages) java-jsp-6
Internet et Education CFA 6/12/00
2.2 Faire une
Exemple 2-2: JSP
url: Programmurl: Source: h
Dans les section (\")int emphasifor (int i out.print if (i == out.print if (i == }
On peut mlang utiliser le ta
Introduction JSP (Java Server Pages 1.x) - 2. Introduction JSP (Java Server Pages) java-jsp-7
Internet et Education CFA 6/12/00
2.3 Gestion durl: http://te )url: http://teurl: http://te
On peut arra Rien faire p
Page error.jsp
Introduction JSP (Java Server Pages 1.x) - 3. Utilisation dautres classes JAVA java-jsp-8
Internet et Education CFA 6/12/00
3. Utilisatio Vous pouvez
Today
number to a name[] = { "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" };s date new Date ();= today.getDay ();("On est " + days [weekday] + " aujourdhui!");
l>
Introduction JSP (Java Server Pages 1.x) - 4. Traitement de formulaires java-jsp-9
Internet et Education CFA 6/12/00
4. Traitemen
4.1 Principe Les pages JSP
(puisquelles On a gratuit ex.
1. request d
2. out de la
3. response Pour rcupr request.g paramtre PUT. request po
On peut lir
Voir la servlet durl: http://te TE
t de formulaires
de base du traitement de requtes peuvent utiliser les fonctionalits de la classe javax.servlet
sont traduites en un servlet).ement disposition certains objets sous forme de variables, par
e la classe javax.servlet.http.HttpServletRequest
classe javax.servlet.ServletOutputStream
de la classe javax.servlet.http.HttpServletResponseer une variable "formulaire" utiliser:etParameter("paramtre") est le nom du paramtre qui vient des GET, POST, DELETE et ssde dautres mthodes utiles, par exemple getHeader.
e un cookie avec request.getHeader("cookie")
oc, par exemple:cfa2.unige.ch/guides/java/jsdk2/doc/
Introduction JSP (Java Server Pages 1.x) - 4. Traitement de formulaires java-jsp-10
Internet et Education CFA 6/12/00
Exemple 4-1: Sim
url: Programmurl: Avec para ellourl: Source: h
Introduction JSP (Java Server Pages 1.x) - 4. Traitement de formulaires java-jsp-11
Internet et Education CFA 6/12/00
4.2 Traiteme
Exemple 4-2: Sim
url: http://tecfurl: source jsp
Formulaire HTM
Introduction JSP (Java Server Pages 1.x) - 4. Traitement de formulaires java-jsp-12
Internet et Education CFA 6/12/00
JAVA:
Introduction JSP (Java Server Pages 1.x) - 4. Traitement de formulaires java-jsp-13
Internet et Education CFA 6/12/00
Explications la mthode r
sous forme la mthode I
ncessaire p
Problmes avec Lorsque lon
url: http://tecf car elle essa voir 4.4 V
Pour les trichhttp://tecfa.u TE
equest.getParameter retourne la valeur dune variable de string, il faut donc dclarer choice comme Stringnteger.parseInt("string") traduit un string en entierour faire une addition dans lexemple ci-dessus.
cette page appelle directement la page *.jsp elle sautea.unige.ch/guides/jsp/ex/simple-calcul/calcul.jspye dadditionner des variables qui nexistent pas
rification de linput et HTML conditionnel [15]eurs, un emploi "GET" de la page:
nige.ch/guides/jsp/ex/simple-calcul/calcul.jsp?choice=10&choice2=15
Introduction JSP (Java Server Pages 1.x) - 4. Traitement de formulaires java-jsp-14
Internet et Education CFA 6/12/00
4.3 Debuggi Alternative: u
TE
ng de paramtrestiliser "GET" comme methode dans le formulaire HTMLn="calcul.jsp" method="get">ter paramtres et valeurs reus
a.unige.ch/guides/jsp/ex/simple-calcul/formulaire2.html
: /simple-calcul/calcul2.jsp.textort="java.util.*" %>
pNameList; // contient une liste des params transmises; // contient un de ces noms []; // contient larray des valeurs pour chaque param // 1 valeur"Method used was: " + request.getMethod());"Liste de paramtres et valeurs (pas forcment dans lord
st = request.getParameterNames();pNameList.hasMoreElement(String) pNameList.nextElement();tln("name=" + pName + ": ");request.getParameterValues(pName);s != null) {t i=0; i
Introduction JSP (Java Server Pages 1.x) - 4. Traitement de formulaires java-jsp-15
Internet et Education CFA 6/12/00
4.4 Vrificat
Voir si un param
1. Champs tex on regarde un input ty// inputString nomS.....
if ( nomSt Voici une aif ( nomStr
2. Widgets de on regarde si "choix" nString Choi....
if (Choix =
HTML conditio On peut affic Attention: si TE
ion de linput et HTML conditionnel
tre est vide:
te sils sont vides (string de taille zro)pe "text" (HTML) est donc toujours pass au serveur !!
tring = req.getParameter("nom");
ring.equals("") ) { ... geuler ...}utre mthode sans utiliser emptyString (JDK < 1.2 ?)ing.compareTo("") == 0) type "radio" etc. si lobjet est prsent ou absent (le formulaire ne transmet rien)a pas t transmis, getParameter retourne null !x = req.getParameter("choix");
= null) { .... geuler .... }
nnelher conditionellement du HTMLproblmes, utilise out.print(" ...") la place
Introduction JSP (Java Server Pages 1.x) - 4. Traitement de formulaires java-jsp-16
Internet et Education CFA 6/12/00
Exemple 4-4: Un
url: http://tecfurl: source jspif (request out.prin return;}// Parameterchoice = rechoice2 = renom = reques
if (nom.equa %>Sorry on P
== null) || (choice2 == null)) {la touche BACK pour complter .... vous avez oubli qcl>
}
Introduction JSP (Java Server Pages 1.x) - 4. Traitement de formulaires java-jsp-17
Internet et Education CFA 6/12/00
Exemple 4-5: Sim
url: http://tecfurl: http://tecf L exemple
En rgle gn aire etune autre po
if ((proces ... montrif (process ... affic} else { ... dire}if (process%> ... affic
lter des "get" directs sur la page, on peut aussi tester la mthodeng de paramtres [14]
Introduction JSP (Java Server Pages 1.x) - 5. Session tracking java-jsp-18
Internet et Education CFA 6/12/00
5. Session tr
Exemple 5-1: Ses
url: http://tecfurl: http://tecf
sion tracking II
a.unige.ch/guides/jsp/ex/session/session-track2.jspa.unige.ch/guides/jsp/ex/session/session-track2.jsp.texttout cela .... suivre !
Introduction JSP (Java Server Pages 1.x) - 6. JSP inside java-jsp-19
Internet et Education CFA 6/12/00
6. JSP insid Section opt
Il nest pas nc arcontre il est ut esmessages derr
Mcanisme Le server Jav
dans le rper 080/ Pour chaque _0002fgui p_0.java
il sagit du Une seule m
elle incorpo elle "copie"
writeBytes) Les classes *. que le
code source * TE
eion ( ce stade)essaire de comprende le code java produit pour utiliser les pages JSP. Pile de savoir lire une telle page approximativement pour comprendre deur
a met les fichiers *.java et *.class gnrstoire tecfa:/usr/local/jakarta/tomcat/work/localhost_8 page JSP, un "servlet" est cr, par exemple:des_0002fjsp_0002fex_0002fdemo_00031_0002ejspdemo1_js
ne sous-classe de HttpServletthode "service" est crere les instructions java dans la page JSP
plus ou moins "tel quel" les commandes html (voir mthode
webserver.pagecompile assurent la mise jour de la classe ds.jsp change.
Introduction JSP (Java Server Pages 1.x) - 6. JSP inside java-jsp-20
Internet et Education CFA 6/12/00
Scurit Les servlets g
pas daccs (Sauf si je m
Exemple 6-1: Javimport java.io.IOEimport javax.servlimport javax.servlimport javax.servl
public class jsp__
public final lo return 94889 } private static }; public final St return _gnuj } public final lo return 19991 } public void _js
throws Serv { response.se JspFactory PageContext TE
nrs par JSP sont "sandboxed": aux fichiers et autres ressources localese trompe) il faut soit crire des vrais servlets pour cela.
a gnr pour lexemple 2-1 JSP simple (1) [5]xception;et.*;et.http.*;et.jsp.*;
guides__jsp__ex__demo1_2ejsp extends org.gjt.jsp.HttpJspPageImpl{
ng _gnujspGetTimestamp() {7919123L;
final String[] _gnujspDeps = new String[] { "/guides/jsp/ex/demo1.jsp"ring[] _gnujspGetDeps() {spDeps;
ng _gnujspGetCompilerVersion() {01701L;
pService (HttpServletRequest request, HttpServletResponse response)letException, IOException
tContentType ("text/html"); factory = JspFactory.getDefaultFactory (); pageContext = factory.getPageContext (this,request,response,
Introduction JSP (Java Server Pages 1.x) - 6. JSP inside java-jsp-21
Internet et Education CFA 6/12/00
HttpSession ServletCont JspWriter ServletConf Object
try {
// line:/guides/jsout.print ("\n \n \n// line:/guides/js
for (int i =
// line:/guides/jsout.print ("\n
Introduction JSP (Java Server Pages 1.x) - 6. JSP inside java-jsp-22
Internet et Education CFA 6/12/00 TE
Introduction JSP (Java Server Pages 1.x)1. Table des matires dtaille2. Introduction JSP (Java Server Pages)2.1 Ecrire des pages JSP simples2.2 Faire une soupe HTML/Java plus mlange2.3 Gestion des erreurs
3. Utilisation dautres classes JAVA4. Traitement de formulaires4.1 Principe de base du traitement de requtes4.2 Traitement simple de formulaires4.3 Debugging de paramtres4.4 Vrification de linput et HTML conditionnel
5. Session tracking6. JSP inside