Comment générer des pages html en java
sans JSP avec servlet
par Christophe Roux, Franerg
- 8 Septembre 2001


Description de JSIP

Pour répondre au besoin de génération de page HTML dynamique, j'ai développé ma propre syntaxe d'inclusion dans les pages HTML que j'appelle JSIP pour Java Servlet Include Pages. Le principe de ces JSIP est d'utiliser le tag <SERVLET> des pages SSI pour indiquer un emplacement à compléter par la Servlet.

En fonctionnement, la Servlet charge la page JSIP en mémoire, l'analyse pour récupérer les noms des tags <SERVLETS> indiqués par l'attribut " CODE ". Puis la Servlet remplace chacun des codes par une portion de page et enfin retourne en résultat la page JSIP ainsi modifiée.

Vous trouverez la classe Page.java nécessaires à l'utilisation de JSIP dans le package " com.jsip ".

 

On peut dire que les pages JSIP ne sont pas liées au code java qui l'utilise. Par ailleurs, les concepts introduits par JSIP sont classiques en Java (Hashtable) et ne nécessite pas d'apprendre un nouveau langage comme les JSP.

Voici un exemple de code HTML pour une page utilisée par la Servlet Bonjour :

<HTML>
<BODY>
<TITLE>Essai d'utilisation de JSIP</TITLE>
<P>
Voici un exemple d'utilisation de la sortie produite par une Servlet.
</P>
<SERVLET CODE=Bonjour>
Ceci montre la puissance de JSIP :
<SERVLET CODE=Aurevoir>
</BODY>
</HTML>

On remarque une balise inhabituelle : la balise <SERVLET>. C'est elle qui indique que l'on veut inclure le contenu produit par une Servlet dans la page Web. Cette balise reconnaît un attribut, CODE, indiquant le nom de l'insert à placer par la Servlet.

 

La servlet Bonjour, appelée lors de l'analyse de la page HTML ci-dessus, pourrait être la suivante :

import javax.servlet.*;
import java.servlet.http.*;
import com.jsip.* ;

public class BonjourMonde extends HttpServlet {
  public void doGet(HttpServletRequest req, HttpServletResponse res)
throws
  ServletException, IOException) {
    PrintWriter out = res.getWriter();
I   Page p = new Page("Bonjour.html") ;
    p.put("Bonjour","<B>Bonjour !</B>");
    p.put("Aurevoir","<B>Au revoir !</B>");
    out.print(p.toString()) ;
  }
}

 

À propos de Christophe Roux




Les Trucsweb
© 1997-2000 Conception Oznog co. Multimédia
www.trucsweb.com