Les bonnes pratiques avec Struts

J'y pense depuis longtemps. Et c'est décidé. Je me lance dans une série de billets sur Struts ! Cette série s'intitule Les bonnes pratiques avec Struts. Je vais partager avec vous toutes les astuces et les bonnes pratiques que je peux utiliser lorsque je travaille avec Struts. L'objectif est double : réaliser un aide mémoire sur l'utilisation de Struts partager et confronter les expériences de chacun sur ce framework MVC Liste des billets : MAJ (07/07/2006) : Protéger l'accès des…
Lire d'avantage

Shale s’envole et Struts bouge

Avec la récente actualité, il fallait s'y attendre : Shale devient un projet à part entière de la fondation Apache. La présence de Shale au sein du projet Struts a longtemps prêté à confusion. L'annonce du nouveau projet Apache Shale va permettre de clarifier la position de chacun. Dans un même temps, l'équipe de Struts fait le ménage. Ainsi, Struts Action 1 redevient Struts 1 et Struts Action 2 devient Struts 2. Tout ce ménage devrait permettre à chacun de se…
Lire d'avantage

Eclipse 3.2

La dernière fois, c'était il y a un an. Le projet Eclipse continue son bonhomme de chemin et annonce la sortie de la version La liste des nouvelles fonctionnalités décrit l'ensemble des avancées de cet IDE. Des efforts importants ont été réalisé pour optimiser le chargement d'Eclipse. Le debugger est été très largement amélioré. Je vous laisse découvrir la ;-) Chris Laffra a également écrit une présentation sur les nouveautés Eclipse Pour finir, notez que le projet Eclipse a tenu…
Lire d'avantage

Un classloader commun pour plusieurs WAR

Ceci est un petit rappel pour les retardataires qui souhaitent utiliser un classloader commun pour plusieurs webapp. Tout d'abord, il faut savoir que la gestion du classloader dépend énormément du serveur d'applications. Par exemple, JBoss possède un seul et unique classloader utilise une hiérarchie de classloaders, mais par défaut c'est un référentiel de classes commun pour tout le serveur qui est utilisé. Alors que JOnAS utilise une hiérarchie de classloaders (serveur, application d'entreprise, application web, ...). Donc, en fonction du…
Lire d'avantage

Findbugs – la chasse aux bugs dans le code source Java

Vous êtes toujours en quête d'amélioration de la qualité de vos développements ? Et si vous entreprenez une petite traque aux bugs ? Trois catégories de bugs peuvent identifiées : bug fonctionnel bug de conception bug lié au langage Il existe un outil qui permet d'analyser le code source d'une application Java et de détecter les bugs de conception ou liés au langage. Cet outil se nomme FindBugs et est distribué sous la LGPL. Comment fait-il ? Il analyse le code source, détecte des…
Lire d'avantage

Struts perdrait-il la tête ?

La tête de la compétition des frameworks MVC ? Car d'autres frameworks semblent plus actifs. La tête des leaders du projet ? Car certains demandent une réorganisation, voire une séparation ! La tête ou en d'autres termes la raison ? Car le projet semble se disperser. A lire, le dernier sujet lancé par Don Brown, on peut se poser des questions ! En effet, depuis l'annonce de Struts 2 Struts Shale, les développeurs utilisateurs sont un peu perdu entre les différentes versions…
Lire d'avantage

Partager une instance de singleton avec plusieurs applications web

Sans revenir sur les détails du modèle de conception appelé singleton, ce dernier permet de n'avoir qu'une seule instance de classe. Parfois, dans un contexte d'application d'entreprise possédant plusieurs applications web, il est nécessaire d'avoir une seule instance de classe pour l'ensemble de ces applications. Or cela n'est pas toujours aussi trivial. En effet, selon la stratégie de gestion des classloaders employée par les serveurs d'applications, les applications web au sein de la même application d'entreprise peuvent avoir un classloader…
Lire d'avantage

Générer un doctype avec du DOM

Le DOCTYPE est souvent oublié, pourtant parfois il se révèle indispensable. Mais comment générer cette section dans un document XML avec du DOM en Java ? Pour rappel, le DOCTYPE permet de spécifier dans un  XML la définition du type de document (ie. le format utilisé). Il est peu souvent utilisé lors de la génération de document XML. De plus la documentation de l'API DOM n'est pas forcément explicite. Du coup certaines personnes peuvent rencontrer quelques problèmes pour le générer. Voici…
Lire d'avantage

Des attributs dynamiques dans les TagLibs

Comment procéder pour créer ses propres TagLibs acceptant des attributs dynamiques ? C'est à cette question que cet article tente de répondre par un simple exemple. Les TagLibs permettent aux développeurs de pages JSP d'implémenter leurs propres tags JSP qui exécutent du code Java plus ou moins complexe. Pour rendre ce code paramétrable, il est possible d'utiliser les attributs du tag. Exemple simple Voici un exemple d'implémentation de taglib avec la classe com/company/ : package ; import ; import ; import…
Lire d'avantage

Parcourir un objet Map

Plusieurs solutions existent pour parcourir une interface Map. Mais sont-elles toujours optimales ? En Java, l'interface Map permet de définir une liste d'association entre clés et valeurs. Ainsi à partir d'une clé, il est possible de retrouver la valeur correspondante. Une bonne démarche pour parcourir un objet implémentant l'interface Map, est d'utiliser les itérateurs définis par l'interface Iterator. L'interface Map propose trois méthodes qui retournent une Collection à partir de laquelle il est possible d'accéder à un itérateur : public Set entrySet();…
Lire d'avantage