P
'
t
i
t
e
C
h
a
t
t
e
 
spacer~ REAL GOOD CODE WITH GEEK FLAVOUR Articles | Connexion
 
~Introduction aux JSP

Précédent  
  JSP  
  Suivant
 Présentation

Les Java Server Pages constituent une technologie côté serveur dont les spécifications dépendent de Sun Microsystems. Utilisées conjointement avec les Servlets, les JSP font partie de J2EE, Java2 Enterprise Edition.
 Sommaire

9. Annexe

 Introduction

Les Java Server Pages constituent une technologie côté serveur dont les spécifications dépendent de Sun Microsystems. Utilisées conjointement avec les Servlets, les JSP font partie de J2EE, Java2 Enterprise Edition.

Cette technologie est majoritairement employée par les entreprises. L'une de ces raisons est l'impossibilité, ou tout du moins la quasi-impossibilité, pour un particulier de trouver un hébergeur gratuit acceptant les JSP. Une autre raison est tout simplement liée à la nature du langage. Une page JSP n'est en réalité qu'une simple page HTML au sein de laquelle du code Java a été introduit.

Les entreprises peuvent ainsi "recycler" à moindre coût leurs programmeurs d'applications Java en programmeurs de sites Internet. De plus, ces programmeurs sont instantanément autonomes puique la différence entre les JSP et le langage Java classique ne réside que dans l'apprentissage d'une API supplémentaire.


 Les JSP

Les JSP sont ce que l'on peut appeler une technologie de server-side scripting. Autrement dit, ce sont des pages HTML contenant des balises spéciales, traitées par le serveur avant que celui-ci envoie le fichier HTML au client. Nous reconnaissons ici le principe de fonctionnement du PHP par exemple. Pourtant, les JSP sont traités d'une manière un tout petit peu différente.

En effet, lors de la première requête cliente vers une page JSP, le serveur, plus précisément le module JSP du serveur, va extraire le code Java de la page et le compiler dans un fichier .class contenant du bytecode Java. Les requêtes suivantes seront alors traitées bien plus rapidement puisque la page aura été compilée au préalable.

La technologie JSP est souvent associée aux Servlets et aux Java Beans.


 Les Servlets

Les Servlets sont aux serveurs ce que les applets sont aux clients: des programmes Java. Une Servlet est un programme chargé de résoudre des requêtes http de type GET ou POST. Prenons l'exemple d'une Servlet chargée d'ajouter un produit au panier d'achat d'un visiteur sur un site marchand. L'URL utilisée ressemblera à celle-ci:

http://www.programmationworld.com/ServletCart?addItemID=0194.
       
      
JextCopier dans Jext | Jext | Plugin Codegeek
Dans cette situation, la requête GET va être soumise à la Servlet nommée ServletCart. Une Servlet n'est autre qu'une classe Java, disponible sous forme de fichier portant l'extension .class.

Le tandem JSP/Servlet est beaucoup employé pour la création de sites dynamiques de grande importance.


 Les Java Beans

Le terme de Java Beans est une désignation pompeuse pour une technologie extrêmement simple. Un Java Bean n'est en réalité qu'un simple objet Java régi par quelques règles. Premièrement, un Java Bean ne doit pas proposer de constructeur. Seul le constructeur sans argument par défaut doit être disponible. Ensuite, un Java Bean permet de stocker des propriétés. Pour y accéder, le programmeur doit rédiger des accesseurs. Une paire d'accesseurs ressemble à ceci:

public Type getProperty() { /* . */ }
public void setProperty(Type property) { /* . */ }
       
      
JextCopier dans Jext | Jext | Plugin Codegeek
Les Java Beans forment ainsi des composants réutilisables aisément dans toute application. Les environnements de développement tel que JBuilder ou, mieux encore, le BDK (Beans Development Kit) peuvent facilement montrer graphiquement les propriétés de ces composants grâce au principe d'introspection.

Des technologies plus complexes peuvent bien entendu se voir architecturée autour des Java Beans.


 Le serveur

Plusieurs serveurs de JSP/Servlet sont disponibles. Nous pouvons citer par exemple WebSphere d'IBM ou plus simplement Apache accompagné de son module Tomcat. C'est ce dernier qui va nous intéresser. Tomcat est un produit appartement au projet Jakarta de la Apache Software Foundation.

Tomcat est ainsi disponible sous license ASF et se trouve être Open Source. Sun Microsystems a d'ailleurs reconnu la qualité de ce produit en le choisissant pour l'intégrer à un futur Web Services Pack. De plus, Tomcat respecte parfaitement les dernières spécifications de Sun concernant les Servlets et les JSP.

Vous trouverez la version 4.0 de Tomcat sur le site http://jakarta.apache.org. Cette distribution contient une version stand-alone de Tomcat ainsi que le service Apache. Une fois les variables d'environnement nécessaires dûment créées (il s'agit juste de créer la variable CATALINA_HOME pointant vers le répertoire d'installation de Tomcat), l'exécution du script bin/startup.sh suffira à démarrer le serveur. Pour l'arrêter, il convient de lancer le script shutdown.sh.


 Utilisation du serveur

La configuration du serveur se fait grâce aux différents fichiers XML du répertoire conf/. En jonglant entre les commentaires de ceux-ci et la documentation vous devriez pouvoir comprendre par vous-mêmes les différentes possibilités de configuration.

Lorsque vous souhaitez développer des JSP ou des Servlet, vous devez créer un nouveau répertoire dans le répertoire webapps/. Le répertoire work/ acceuillera les fichiers JSP compilés. Vous aurez parfois à la vider pour forcer le serveur à recharger une page. Votre nouveau répertoire devra contenir à son tour un répertoire WEB-INF/. Dans celui-ci, un fichier nommé web.xml (inspirez-vous des exemples) permet de configurer les Servlets, les paramètres d'environnement ou encore les propriétés de la session (comme la durée de validité de celle-ci).

Dans ce nouveau répertoire, vous créerez un répertoire classes/ pour mettre les classes utilisées par les Servlets et les JSP. Un répertoire jsp/ pourra servir à créer des nouveaux tags personnalisés. Et le répertoire lib/ contiendra les librairies JAR utilisées par vos classes. Vous trouverez en annexe l'archive article1.zip contenant un répertoire à inclure dans votre webapps/. Pour accéder au fichier JSP de cet exemple, tapez l'URL suivante dans votre navigateur (si tant est que Tomcat soit lancé): http://localhost:8080/helloworld.


 Les balises JSP

Il existe deux types de balises JSP. Les balises <jsp:action> et les balises <% %>. Le premier type permet par exemple de faire appel à des Java Beans ou d'effectuer certaines actions. Rediriger vers une autre page pourra se faire ainsi: <jsp:forward page="page2.jsp" />.

Les balises de type <% %> permettent d'inclure du code Java. Ce type de balises se sub-divise en plusieurs catégories:

  • les directives: <%@ %>
  • les déclarations: <%! %>
  • les instructions Java: <% %>
  • l'interprétation d'une instruction: <%= %>

Les directives permettent par exemple d'importer des classes pour le rendre accessibles à tous les scripts JSP de la page. Les déclarations servent à déclarer des variables globales à la page. Les instructions accueillent une ou plusieurs lignes de code Java. Enfin, la balise d''interprétation sert à "imprimer" sur la page le résultat de l'évaluation d'une expression. Ainsi les deux lignes suivantes sont équivalentes:

<% out.println(maClasse.getName()); %>
<%= maClasse.getName() %>
       
      
JextCopier dans Jext | Jext | Plugin Codegeek

 Application

Dans l'article suivant, nous verrons comment utiliser ces différentes balises pour créer des sites dynamiques. Nous verrons aussi comment utiliser des classes dans du code JSP. Par la suite, nous traiterons les Java Beans et les Servlets. En attendant, prenez le temps de lire la documentation pour vous familiariser avec la configuration de Tomcat.


 Annexe

Télécharger l'exemple de cet article.



par Romain Guy
romain.guy@jext.org
http://www.jext.org
Dernière mise à jour : 14/10/2006


Précédent  
  JSP  
  Suivant

 
#ProgX©2005 Mathieu GINOD - Romain GUY - Erik LOUISE