Vous êtes sur la page 1sur 5

ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail

Dvelopper une page JSP

DIRECTION RECHERCHE ET INGENIERIE DE FORMATION

SECTEUR NTIC
ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail

DIRECTION RECHERCHE ET INGENIERIE DE FORMATION

SECTEUR NTIC
1. Dvelopper une page JSP Gnralits

Les Java Server Pages (JSP) constituent une autre approche de la production de
contenu dynamique depuis un conteneur de servlets laide de Java.

Le principe de fonctionnement dune page JSP est le suivant : lorsque la page est
appele pour la premire fois par un internaute :

Le fichier jsp est transform par le serveur Web en une servlet, qui est un
fichier pur JAVA, dextension .java.

Il est ensuite compil normalement en .class

Un objet de la classe est instanci et excut.

Lexcution gnre en sortie le code HTML que le navigateur affiche.

Pour les appels ultrieurs les deux premires tapes sont sautes.

En plus du jsp il est possible de coder des classes mtiers en pur Java (on parle
souvent de beans, que lon verra ultrieurement). Vous pouvez dans vos pages
jsp instancier des objets de ces classes et en utiliser les mthodes.

Attention : les beans sont des classes Java locales, les EJB ou Entreprise
Java Beans sont des classes distantes, distribues sur un serveur
dapplication (serveur mtier).

Comme tout programme, un script jsp droule un algo, typiquement avec des if
then else, ainsi que des boucles. Il est donc possible que selon le cours de lalgo,
TestJSP

le code HTML envoy augetRequestDispatcher("pageSuivante.jsp")


client puisse varier.
getRequestDispatcher("/exemple/pageSuivante.jsp")

package jweb.servlet; <servlet >>


<servlet <%@page import="java.util.*"
Sommaire
WEB-INF
import
TestForward
TestForward
javax.servlet.*; <servlet-name>
<servlet-name>
%>
import javax.servlet.http.*; PremiereServlet
PremiereServlet
getNamedDispatcher("ServSuivante") </servlet-name>
</servlet-name>
import java.util.*; <HTML>
<servlet >
web.xml
import java.io.*;
TestForward <servlet-class>
<servlet-class>
<servlet-name>
web.xml
web.xml <HEAD>
PremiereServlet
PremiereServlet
PremiereServlet
</servlet-class>
</servlet-class>
</servlet-name>
public class TimeServlet extends HttpServlet
WEB-INF
WEB-INF
Sources
</servlet>
</servlet> <TITLE>Affichage date
<servlet-class>
{
</TITLE>>>
<servlet-mapping
<servlet-mapping
PremiereServlet
public void doGet(HttpServletRequest req,
web.xml
<servlet-name>
<servlet-name>
</servlet-class>
1. Gnralits________________________________________________________2
HttpServletResponse rep)
WEB-INF
</HEAD>
PremiereServlet
PremiereServlet
</servlet>
throws ServletException, IOException
test.jsp </servlet-name>
</servlet-name>
PremiereServlet.class
PremiereServlet.class
{ <servlet >
2. Syntaxe JSP________________________________________________________3
<url-pattern>
<url-pattern><BODY>
Classes
Classes
rep.setContentType("text/html"); <servlet-name>
/exemple/forwarder
/exemple/forwarder
ServSuivante
PrintWriter out = rep.getWriter() ; <P class=titre>
ServletSuite.class </url-pattern>
</url-pattern>
</servlet-name>
out.println("<HTML><HEAD><TITLE ");
PremiereServlet.class </servlet-mapping>
</servlet-mapping>
<servlet-class>
out.println("Affichage <%= new Date()%>
Classes
date</TITLE></HEAD><BODY>");
pageSuivante.jsp
pageSuivante.jsp index.html ServletSuite
</P> [valid]<<forwards>>
out.println("<P class=titre>"+new Date()
exemple
exemple </servlet-class>
</servlet>
1. Dvelopper une page JSP Gnralits

Les Java Server Pages (JSP) constituent une autre approche de la production de
contenu dynamique depuis un conteneur de servlets laide de Java.

Le principe de fonctionnement dune page JSP est le suivant : lorsque la page est
appele pour la premire fois par un internaute :

Le fichier jsp est transform par le serveur Web en une servlet, qui est un
fichier pur JAVA, dextension .java.

Il est ensuite compil normalement en .class

Un objet de la classe est instanci et excut.

Lexcution gnre en sortie le code HTML que le navigateur affiche.

Pour les appels ultrieurs les deux premires tapes sont sautes.

En plus du jsp il est possible de coder des classes mtiers en pur Java (on parle
souvent de beans, que lon verra ultrieurement). Vous pouvez dans vos pages
jsp instancier des objets de ces classes et en utiliser les mthodes.

Attention : les beans sont des classes Java locales, les EJB ou Entreprise
Java Beans sont des classes distantes, distribues sur un serveur
dapplication (serveur mtier).

Comme tout programme, un script jsp droule un algo, typiquement avec des if
then else, ainsi que des boucles. Il est donc possible que selon le cours de lalgo,
TestJSP

le code HTML envoy augetRequestDispatcher("pageSuivante.jsp")


client puisse varier.
getRequestDispatcher("/exemple/pageSuivante.jsp")
2.1. Elments de base du scripting______________________________________3
<servlet >>
<servlet <%@page import="java.util.*"
package WEB-INF jweb.servlet;
import
TestForward
TestForward
javax.servlet.*; <servlet-name>
<servlet-name>
%>
2.2. Les
import objetsgetNamedDispatcher("ServSuivante")
implicites_________________________________________________4
javax.servlet.http.*; PremiereServlet
PremiereServlet
import java.util.*; </servlet-name>
</servlet-name>
<HTML>
<servlet >
web.xml
<servlet-class>
<servlet-class>
<servlet-name>
2.3. Dploiement de JSP__________________________________________________5
import java.io.*;
TestForward
web.xml
web.xml <HEAD>
PremiereServlet
PremiereServlet
PremiereServlet
</servlet-class>
</servlet-class>
</servlet-name>
public class TimeServlet extends HttpServlet
WEB-INF
WEB-INF
Sources
3. Interactions
{ entre servlet et/ou JSP_____________________________6
</servlet>
</servlet> <TITLE>Affichage date
<servlet-class>
</TITLE>>>
<servlet-mapping
<servlet-mapping
PremiereServlet
public void doGet(HttpServletRequest req,
web.xml
<servlet-name>
<servlet-name>
</servlet-class>
3.1. Redirection de requtes
WEB-INF
avec
HttpServletResponse rep)"forward"___________________________6
</HEAD>
PremiereServlet
PremiereServlet
throws ServletException, IOException </servlet>
PremiereServlet.class
PremiereServlet.class test.jsp </servlet-name>
</servlet-name>
{ <servlet >
3.2. Les rpartiteurs Classes
Classes
de requtes________________________________________7
rep.setContentType("text/html");
<url-pattern><BODY>
<url-pattern>
<servlet-name>
/exemple/forwarder
/exemple/forwarder
ServSuivante
PrintWriter out = rep.getWriter() ; <P class=titre>
ServletSuite.class </url-pattern>
</url-pattern>
</servlet-name>
out.println("<HTML><HEAD><TITLE ");
PremiereServlet.class </servlet-mapping>
</servlet-mapping>
<servlet-class>
out.println("Affichage <%= new Date()%>
Classes
date</TITLE></HEAD><BODY>");
pageSuivante.jsp
pageSuivante.jsp index.html ServletSuite
</P> [valid]<<forwards>>
out.println("<P class=titre>"+new Date()
exemple
exemple </servlet-class>
</servlet>
1. Dvelopper une page JSP Gnralits

Les Java Server Pages (JSP) constituent une autre approche de la production de
contenu dynamique depuis un conteneur de servlets laide de Java.

Le principe de fonctionnement dune page JSP est le suivant : lorsque la page est
appele pour la premire fois par un internaute :

Le fichier jsp est transform par le serveur Web en une servlet, qui est un
fichier pur JAVA, dextension .java.

Il est ensuite compil normalement en .class

Un objet de la classe est instanci et excut.

Lexcution gnre en sortie le code HTML que le navigateur affiche.

Pour les appels ultrieurs les deux premires tapes sont sautes.

En plus du jsp il est possible de coder des classes mtiers en pur Java (on parle
souvent de beans, que lon verra ultrieurement). Vous pouvez dans vos pages
jsp instancier des objets de ces classes et en utiliser les mthodes.

Attention : les beans sont des classes Java locales, les EJB ou Entreprise
Java Beans sont des classes distantes, distribues sur un serveur
dapplication (serveur mtier).

Comme tout programme, un script jsp droule un algo, typiquement avec des if
then else, ainsi que des boucles. Il est donc possible que selon le cours de lalgo,
TestJSP

le code HTML envoy augetRequestDispatcher("pageSuivante.jsp")


client puisse varier.
getRequestDispatcher("/exemple/pageSuivante.jsp")
3.3. Inclusion dans une servlet avec "include"_________________________9
<servlet >>
<servlet <%@page import="java.util.*"
package WEB-INF jweb.servlet;
import
TestForward
TestForward
javax.servlet.*; <servlet-name>
<servlet-name>
%>
import javax.servlet.http.*; PremiereServlet
PremiereServlet
getNamedDispatcher("ServSuivante") </servlet-name>
</servlet-name>
import java.util.*; <HTML>
<servlet >
web.xml
import java.io.*;
TestForward <servlet-class>
<servlet-class>
<servlet-name>
web.xml
web.xml <HEAD>
PremiereServlet
PremiereServlet
PremiereServlet
</servlet-class>
</servlet-class>
</servlet-name>
public class TimeServlet extends HttpServlet
WEB-INF
WEB-INF
Sources
</servlet>
</servlet> <TITLE>Affichage date
<servlet-class>
{
</TITLE>>>
<servlet-mapping
<servlet-mapping
PremiereServlet
public void doGet(HttpServletRequest req,
web.xml
<servlet-name>
<servlet-name>
</servlet-class>
HttpServletResponse rep)
WEB-INF
</HEAD>
PremiereServlet
PremiereServlet
</servlet>
throws ServletException, IOException
test.jsp </servlet-name>
</servlet-name>
PremiereServlet.class
PremiereServlet.class
{ <servlet >
Classes
Classes
<url-pattern>
<url-pattern><BODY>
<servlet-name>
rep.setContentType("text/html");
/exemple/forwarder
/exemple/forwarder
ServSuivante
PrintWriter out = rep.getWriter() ; <P class=titre>
ServletSuite.class </url-pattern>
</url-pattern>
</servlet-name>
out.println("<HTML><HEAD><TITLE ");
PremiereServlet.class </servlet-mapping>
</servlet-mapping>
<servlet-class>
out.println("Affichage <%= new Date()%>
Classes
date</TITLE></HEAD><BODY>");
pageSuivante.jsp
pageSuivante.jsp index.html ServletSuite
</P> [valid]<<forwards>>
out.println("<P class=titre>"+new Date()
exemple
exemple </servlet-class>
</servlet>