Vous êtes sur la page 1sur 32

JSP, Tomcat

Stéphane Rousseau
Directeur solutions technologiques
en affaires électroniques
DMR Conseil
et
François Belleau
Architecte technologique
Ministère de l’industrie et du commerce

DMR Conseil
JSP, Tomcat Le langage JSP

Page JSP
Page HTML contenant un ou plusieurs
scripts en langage JAVA qui sont exécutés
dynamiquement sur le serveur Web,
avant que la page soit envoyée au navigateur,
c'est-à-dire à l'utilisateur.

Technologie JSP
Peut s’exécuter sur à peu près tous
les serveurs Web du marché : Apache, IBM,
IIS, Netscape,...
2

DMR Conseil
JSP, Tomcat Pourquoi…

Pourquoi utiliser le JSP

DMR Conseil
JSP, Tomcat Balises JSP

Directives
<%@ directive %> utilisée afin de spécifié de l’information
sur la page, inclure un fichier, spécifier une librairie de tag.

Déclaration
<%!déclaration %> utilisée afin de déclarer des nouvelles
méthodes ou variables.

Code
<% code %> utilisée pour le code

Expression
<%= expression %> affiche le résultat de l’expression

Standard
<jsp:useBean, getProperty, setProperty, include, forward

DMR Conseil
JSP, Tomcat Accès aux objets

Context
Disponible pour l’ensemble de l’application
tant que l’objet n’a pas été enlevé ou l’application
redémarrée

Session
Disponible pour l’utilisateur spécifiquement

Request
Disponible pour la requête donc
entre les pages (forward)

Page
Disponible pour la page seulement
5

DMR Conseil
JSP, Tomcat Exemple simple

<html><!-- Copyright (c) 1999 The Apache Software Foundation.


All rights reserved. -->
<%@ page session="false"%>
<body bgcolor="white">
<%="Bienvenue au webmetres du gouvernement du Qu&eacute;bec" %>
<jsp:useBean id='clock' scope='page' class='dates.JspCalendar'
type="dates.JspCalendar" />
<font size=4>
<ul>
<li> La date est : <jsp:getProperty name="clock" property="date"/>
<li> L'heure est : <jsp:getProperty name="clock" property="time"/>
<li> Nous sommes le <jsp:getProperty name="clock" property="dayOfYear"/>
6 jours de l'ann&eactue;e …

DMR Conseil
JSP, Tomcat Comparaison versus ASP

JSP :
• Indépendance versus matériel :
Intel, PowerPC, Sun SPARC, ARM, RS-XXXX,…
• Indépendance versus système d’exploitation :
Windows 2K…, Linux, Mac OSX, BSD, HP-UX,
Solaris, AIX, zOS, PlayStation2,…
• Choix du fournisseur de logiciel :
Tomcat, IBM WebSphere, BEA, Sun Iplanet,
Oracle 9iAS, Orion, …
ASP :
• Microsoft est votre seul ami…
7

DMR Conseil
JSP, Tomcat Comparaison versus ASP

JSP : Gamme étendue d’outils de développement


dont certains gratuits :
• Eclipse ( gratuit ) www.eclipse.org
• netBeans ( gratuit ) www.netbeans.org
• MacroMedia DreamWeaver
• Borland Jbuilder
• IBM WebSphere Studio Application
Developer

ASP : Microsoft VisualStudio, DreamWeaver


8

DMR Conseil
JSP, Tomcat Comparaison versus ASP

JSP :
• Une fois la page JSP exécutée pour
la première fois, le code est compilé en servlet,
les exécutions suivantes sont très rapide
• Possibilité d’initialiser un objet automatiquement
lors de la déclaration de l’instance
• Fichier WAR permettant de bâtir
et déployer une version d’un application
( JSP, HTML, GIF, JPG,…)
• Permet l’ajout de balise facilitant une meilleure
séparation des responsabilités entre
les désigners et les développeurs ( Taglibs )
9

DMR Conseil
JSP, Tomcat Tomcat

• Tomcat est un serveur qui permet


l’exécution de servlet et de pages JSP

• Tomcat est utilisé comme référence


par Sun pour les spécifications

• Tomcat version 3.x implémente


les versions d’API Servlet 2.2 et JSP 1.1

• Version 3.x basée sur le code donné par Sun


• Tomcat version 4.x implémente
les versions d’API Servlet 2.3 et JSP 1.2
10

DMR Conseil
JSP, Tomcat Tomcat : Ce qu’il n’est pas…

• Tomcat n’est pas un serveur d’application


d’entreprise (EJB) tel que IBM WebSphere,
BEA WebLogic, Oracle 9iAS…

• Tomcat n’offre pas « out of the box »


les fonctionnalités suivantes :
• Extensibilité horizontale ou verticale
• Répartition de la charge
• Réserve de connections
• Intégration de la sécurité plus complexe
• Cependant, il existe toujours des moyens
d’utiliser des composantes permettant de rendre
les fonctionnalités disponibles.
11

DMR Conseil
JSP, Tomcat Déploiement
des applications (WAR)
• Tomcat permet le déploiement d’application
via les fichiers de type WAR

• Un fichier WAR est une archive suivant


une structure précise contenant toutes
les informations et fichiers (html, jsp, xml, gif, jpg,…)
de l’ensemble de l’application.

Cela facilite le déploiement d’une application


sur les serveurs.

12

DMR Conseil
JSP, Tomcat Tomcat vs
Serveurs commerciaux
• Les serveurs commeciaux tel que IBM WebSphere,
BEA WebLogic, Oracle 9iAS offrent :
• Conteneur EJB
• Réserve de connection
• Déploiement unique d’application
• Extensibilité : répartition de charge, reprise
• Sécurité intégrée
• Support technique et formation

13

DMR Conseil
JSP, Tomcat Projets connexes d’intérêt

• Taglibs
• Struts
• FOP
• Cocoon2
• Axis
• Ant
• Poolman

14

DMR Conseil
JSP, Tomcat Taglibs

• Le sous projet Taglibs de Jakarta.Apache.Org


offre des libraries de tags permettant de simplifier
le développement de page JSP.

• Le but est de facilité le développement


de pages dynamiques par les développeurs de site
en particulier. Permet l’utilisations
de tags par les non-programmeurs Java.

• Plus de 24 libraries disponibles


• Extension pour DreamWeaver
15

DMR Conseil
JSP, Tomcat Taglibs : libraries d’intérets

• DBTags : accès aux bases de données simplifié


• Form : formulaires
• I18N : internationalisation de pages web
• IO : HTTP, HTTPS, SOAP, XML-RPC
• RegExp : expressions réguliéres
• Scrape : récupération d’info provenant d’URL
• XSL : transformation XML-XSL
• Xtags : accès aux structures XML
16

DMR Conseil
JSP, Tomcat Taglibs : exemple données

<html>
<head>
<title>DMR Conseil e-Biz - D&eacute;monstration
liens utiles</title>
</head>
<body bgcolor="white">
<%@ taglib
uri="http://jakarta.apache.org/taglibs/dbtags"
prefix="sql" %>

17

DMR Conseil
JSP, Tomcat Taglibs : exemple données

<P><B>Connection base de liens</B></P>

<sql:connection id="conn1">

<sql:url>
jdbc:mysql://127.0.0.1:3306/demo?user=alibab
a&password=sesame
</sql:url>
<sql:driver>org.gjt.mm.mysql.Driver</sql:driver>

</sql:connection>

18

DMR Conseil
JSP, Tomcat Taglibs : exemple données

<table>
<tr>
<th>id</th> <th>titre</th> <th>url</th>
<th>resume</th>
</tr>
<sql:preparedStatement id="stmt2" conn="conn1">
<sql:query>
select titre, url, resume from lien
order by 1

19
</sql:query>
DMR Conseil
JSP, Tomcat Taglibs : exemple données

<sql:resultSet id="rset1">
<tr>
<td><sql:getColumn position="1"/></td>
<td><sql:getColumn position="2"/></td>
<td><sql:getColumn position="3"/></td>
</tr>
</sql:resultSet>

20

DMR Conseil
JSP, Tomcat Taglibs : exemple données

<tr>
<td colspan="4">
<sql:wasEmpty>No rows retrieved.</sql:wasEmpty>
<sql:wasNotEmpty><sql:rowCount/>rows retrieved.
</sql:wasNotEmpty>
</td>
</tr>
</sql:preparedStatement>
</table>
21

DMR Conseil
JSP, Tomcat Struts

• Framework permettant le développement d’application


Web en utilisant le principe Model-View-Controller
• Model = Données
• View = Présentation des données pour
un client donné
• Controller = Contrôle les accès et la séquence
entre les pages de l’application
• Utilisé par DMR Conseil lors du développement
d’une application Web sous technologie Java
• Un sous-projet de Jakarta.apache.org
22

DMR Conseil
JSP, Tomcat FOP

• FOP : Processeur de formatage d’objet


• Permet la transformation de fichier XML en PDF,
PS, SVG, TXT, XML,…
• La priorité est mise sur le formatage de fichier
de sortie en format PDF
• Sous-projet de xml.apache.org

23

DMR Conseil
JSP, Tomcat Cocoon2

• Framework de publication de document XML


provenant de diverses sources (Fichiers,
BD,LDAP,…) en divers format (html,pdf,svg,wap,…)

• Permet via un fichier de configuration en XML


d’établir les règles de conversion :
• Index.html utilise index.xml et index.xsl
• Index.pdf utilise index.xml et indexpdf.xsl avec
FOP
• Index.wap utilise index.xml et indexwap.xsl
•…

24
• Sous-projet de xml.apache.org
DMR Conseil
JSP, Tomcat Axis

• Framework permettant d’ajouter à un serveur Web


Java de rendre disponible l’accès à des
WebServices.
• Permet un cycle de vie aux WebServices :
session, application
• Le développement se fait via des objets JAVA
• Possibilité via BSF de créer des WebServices
en JavaScript
• Sous-projet de xml.apache.org

25

DMR Conseil
JSP, Tomcat Ant

• Application facilitant le processus


de développement d’une application
• Permet
• Compilation
• Tests unitaires des composantes
• Déploiement de l’application sur les serveurs
de tests intégrés
• Test d’intégration
• Déclaré par JavaWorld le projet Open-Source
le plus utile.
• Sous-projet de Jakarta.apache.org
26

DMR Conseil
JSP, Tomcat Poolman

• Permet de ré-utiliser les connections


aux base de données via un pool d’objets.
• Accélère le temps d’affichage de pages dynamiques
dont l’information provient d’une base de données.
• Les classes permettent pas seulement
les pools de connections mais aussi d’objets.
• Disponible gratuitement
• URL : http://sourceforge.net/projects/poolman/

27

DMR Conseil
JSP, Tomcat Utilisation des projets
Open-Source chez DMR Conseil

• Cadre d’application Web basé sur les meilleures


pratiques de l’industrie utilise des composantes de
Struts et de patterns d’IBM.

• Outil de gestion de site web DMR Conseil


e-biz Scribe utilise des composantes des projets
Slide et Ant.

• Autres projets en cours…

28

DMR Conseil
JSP, Tomcat Liens utiles

• Jakarta : Tomcat, Struts, Ant, …


• http://jakarta.apache.org
• XML Apache : FOP, SOAP, Cocoon, Xerces (XML),
Xalan (XSL)
• http://xml.apache.org
• Sun Java Developer Connection
• http://java.sun.com
• JavaWorld
• http://javaworld.com
29

DMR Conseil
JSP, Tomcat Liens utiles

• O’Reilley OnJava
• http://www.onjava.com
• IBM DeveloperWorks
• http://www-106.ibm.com/developerworks/

30

DMR Conseil
JSP, Tomcat Démonstration
avec DreamWeaver
• Francois Belleau du MIC va maintenant
effectuer une démonstration de la création
d’une page JSP à l’aide de DreamWeaver
et Tomcat en utilisant les fonctionnalités
de tags provenant du projet jakarta taglibs.

• Cette page dynamique va démontrer


les concepts d’inclusion des normes du PIV,
l’accès à des données provenant d’une base
de données et l’utilisation du XML pour
la mise en forme du bas de page du site.

31

DMR Conseil
JSP, Tomcat Conclusion

• Les technologies ouvertes permettent


le développement de solutions intelligentes
et offrent les possibilités de ré-utiliser
l’intelligence d’experts dans le domaine à condition
bien sur de vouloir y mettre les efforts.

• Le JSP et les concepts introduits aujourd’hui


offrent des solutions concrètes à vos problèmes
en matière de développement d’application Web.

• Merci !

32

DMR Conseil