EcommerceDEV. Développement, optimisation et sécurisation des sites de commerce électronique.
arrowAccueil arrow Programmation arrow J2EE/Java(script) arrow Gérer le cache via la méthode init() de la classe HttpServlet
Jeudi 15 mai 2008
Nom d'utilisateur     Mot de passe      Conserver       Mot de passe perdu ? 
Menu
Accueil
A propos du site
Carte du site
Moteur de recherche
Nouvelles
Contactez-nous
Evénements
Lettres de nouvelles
- - - - - - -
Analyse
Conception
Optimisation
Programmation
Sécurité
Produits/Services
avr 13 2006
Gérer le cache via la méthode init() de la classe HttpServlet Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 1
FaibleMeilleur 
Ecrit par Kamal AOUDA   
13-04-2006
Gérer le cache via la méthode init() de la classe HttpServlet

La méthode init() de la classe HttpServlet est également un bon emplacement pour implémenter la gestion du cache. Contrairement à la méthode service() qui est appelée à chaque fois que la servlet reçoit une requête ou renvoie une réponse, init() n’est appelée qu’une seule fois dans le cycle de vie de la servlet. Cela permet de réduire considérablement le nombre de va et vient (round trip) entre le client et la servlet lorsque les réponses retournées ne changent pas fréquemment (si les réponses ne changent jamais elles doivent être normalement stockées dans une page HTML statique).

* L’exemple 1 régénère la réponse à chaque fois que la servlet reçoit une nouvelle requête.
* L’exemple 2 génère la réponse une seule fois dans le cycle de vie de la servlet puis la place dans le cache. Notons par ailleurs que l’objet PrintWriter est remplacé par un StringBuffer pour améliorer les performances.

Exemple 1 :

public void service(HttpServletRequest req, HttpServletRespnse res) throws ServletException,IOException {
res.setContentType(“text/html”);
Printwriter out = req.getWriter();
out.print("<html>”);
out.print("<head><title>Hello world</title></head>”);
out.print(“<body>”);
// send the dynamic data here
out.print(“</body>”);
out.print("</html>”);}

Exemple 2 :

public class servlet extends HttpServlet {
byte[] header; byte[] navbar; byte[] footer; byte[] otherStaticData;
public void init(ServletConfig config) throws ServletException{
//create all the static data here
//StringBuffer sb = new StringBuffer(); // better to initialize the StringBuffer with some size to //improve performance
sb.append("<html>”);
sb.append("<head><title>Hello world</title></head>”);
sb.append(“<body>”); header = sb.toString().getBytes();
// do same for navbar if its data is static
// do same for footer if its data is static}
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html");
ServletOutputStream out = res.getOutputStream();
out.write(header); out.write(navbar);
// write dynamic data here
out.write(footer);}

 

< Précédent   Suivant >
Java-XML et oracle : E-commerce - EAI - portails d'entreprise - Applications mobiles
Java-XML et oracle : E-commerce - EAI - portails d'entreprise - Applications mobiles

Cet ouvrage montre comment tirer parti de l'offre Java-XML d'Oracle, tant au niveau de la base de données Oracle8i (drivers JDBC, conteneur EJB, ORB Corba, XSQL...), que des produits associés, outils XML-XSLT, JDeveloper, Oracle9i Application Server, etc.


L'ouvrage insiste tout particulièrement sur les problèmes d'intégration de ces technologies, de design des architectures et de scalabilité des applications. II est illustré de nombreux exemples de code et de deux études de cas, une application e-commerce construite à l'aide d'EJB et un serveur de documents XML multithread.

 

Références

 

Lien sur le site d'Amazon.

Fréderic Berque, Serge Frezefond, Ludovic Sorriaux

Titre : Java, XML et Oracle
Éditeur : Eyrolles
Collection : Solutions Développeurs
Parution : mars 2001
634 pages
ISBN : 2-212-09149-4
EAN13 : 9782212091496

Moteur de recherche
Recommander ce site
Collaboration
Téléchargements
Derniers événements
Aucun événement
Sondages

En Java, quelle la meilleure technique pour programmer un panier d’achat ?

  
Blogs Ecommerce
Blog de capitaine commerce
top

Ce site a été crée avec le CMS Mambo. Un logiciel gratuit disponible sous licence GPL.

Copyright Ecommerce DEV 2006.

Hosted by SiteGround