JSP, Tomcat - Webmaestro

Transcription

JSP, Tomcat - Webmaestro
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
1
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
3
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
4
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)
5
DMR Conseil
Page
Disponible pour la page seulement
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 :
•
7
DMR Conseil
Microsoft est votre seul ami…
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
9
DMR Conseil
séparation des responsabilités entre
les désigners et les développeurs ( Taglibs )
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
• Taglibs
• Struts
• FOP
• Cocoon2
• Axis
• Ant
• Poolman
14
DMR Conseil
Projets connexes d’intérêt
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
DMR Conseil
</sql:query>
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,
•
•
23
DMR Conseil
PS, SVG, TXT, XML,…
La priorité est mise sur le formatage de fichier
de sortie en format PDF
Sous-projet de xml.apache.org
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
DMR Conseil
• Sous-projet de xml.apache.org
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

Documents pareils