Dites au revoir aux PermGen space

Vous travaillez sous Eclipse ? Vous utilisez un serveur d'applications intégrant Tomcat tel que JOnAS ou JBoss ? Et l'accès aux données est fait via Hibernate (même encapsulé dans la couche EJB3) ? Et pour finir, votre application contient un module web ? Si vous avez répondu par l'affirmative à la majorité de ces questions, vous devez bien connaitre le message suivant : PermGen space Ceci se produit après quelques déploiements à chaud de votre application et provoque le blocage…
Lire d'avantage

Les bonnes pratiques avec Struts 2 – afficher un double select horizontalement

Voici le second billet dans la série sur Les bonnes pratiques avec Struts 2. Introduction Struts 2 permet de gérer facilement des doubles listes déroulantes (tag <select> en HTML) avec le tag <s:doubleselect>. Le problème est que les listes déroulantes générées avec ce tag s'affichent toujours l'une au dessous de l'autre (ie. verticalement). Or, souvent il est souhaitable que ces listes soient affichées l'une à côté de l'autre (ie. horizontalement). Solutions En lisant le code du template par défaut de…
Lire d'avantage

Les bonnes pratiques avec Struts 2 – construire des URLs avec les bons paramètres

Voici un premier billet dans la série sur Les bonnes pratiques avec Struts 2. Introduction Struts 2 permet de construire simplement des URLs avec le tag <s:url>. Le problème est que ce tag ajoute dans l'URL tous les paramètres passés dans l'URL de la page courante. Solutions Ce genre de comportement est rarement souhaité et ne concerne de quelques cas bien précis. Pour empêcher l'ajout des paramètres courants, il faut positionner l'attribut includeParams avec la valeur none de cette façon…
Lire d'avantage

Les bonnes pratiques avec Struts 2

Il y a quelques temps, j'ai commencé une série d'article sur Les bonnes pratiques avec Struts. Or, mon dernier article sur un comparatif entre Struts 1 et Struts 2 laissait supposer un passage de Struts 1 à Struts 2. Donc, comme un changement en amène un autre, la série sur Les bonnes pratiques avec Struts devient Les bonnes pratiques avec Struts 2. Les objectifs de cette série reste les mêmes : réaliser un aide mémoire sur l'utilisation de Struts 2…
Lire d'avantage

Geronimo certifié Java EE 5

Ce n'est pas nouveau, Geronimo est certifié Java EE 5 depuis la version Et il y a un peu moins d'un mois, la version est sortie. Cette nouvelle version apporte son lot d'améliorations, corrections et de nouvelles fonctionnalités dont : Custom Server Assemblies : pour simplifier la construction d'un serveur sur-mesure Flexible Administration Console : une console d'administration du serveur GShell : un environnement d'exécution de ligne de commande supportant Groovy WADI Clustering : permet de monter aussi bien des…
Lire d'avantage

JSTL EL – afficher l’identifiant de session

Vous utilisez la JSTL et les EL. Vous avez banni les scriplets de vos pages JSP. Mais comment faire référence à l'identifiant de session HTTP dans vos pages JSP ? C'est tout simple. Mais quand cela fait longtemps que l'on a pratiqué ce genre d'astuce, il est difficile de retrouver la bonne méthode. Alors, pour ne plus oublier, voici la page JSP permettant d'afficher l'identifiant de la session JSP (plus connu sous le doux nom de JSESSIONID) : <?xml version=""…
Lire d'avantage

Supprimer les warnings en Java

Lors de l'étape de compilation, le Java permet de lever les warnings sur des portions de code qui sont corrects d'un point de vue syntaxique, mais qui peuvent poser des problèmes lors de leur exécution. Le warning le plus courant est sûrement le suivant : Type safety: Unchecked cast from Object to Collection<String> Cependant, dans certains cas, le code est correct et ne posera pas de problème à l'exécution. Depuis Java , il est possible d'indiquer au compilateur, via les…
Lire d'avantage

Struts 1 ou Struts 2

Suite à l'arrivée de JSF, le projet Struts a dû se recadrer afin de ne pas de se disperser et de toujours proposer une offre cohérente et surtout compétitive. C'est alors que le projet a été découpé en trois : Struts 1 : la version classique qui existe depuis de nombreuses années. Struts 2 : la nouvelle version résultant de la fusion entre les projets Struts et Webwork. Shale : la version JSF (si je puis dire). Autant, il est…
Lire d'avantage

Hibernate – attention aux injections SQL !

J'avoue que le titre de cette note est quelque peu alarmiste. C'est avant tout pour retenir l'attention et marquer les développeurs qui se croient à l'abri de ce genre d'attaque parce qu'ils utilisent Hibernate. En effet, l'utilisation de ce framework ne vous protège pas forcément des injections SQL comme le rappelle TSS dans son article intitulé "Une légende urbaine à propos d'Hibernate". L'auteur explique que la création de requête SQL par concaténation de chaîne de caractères rend possible les attaques…
Lire d'avantage

Mais où est donc l’API de requête pour les EJB3 ?

Pour rappel, les EJB3 sont le résultat du mariage entre les EJB2 et Hibernate et XDoclet Hibernate Annotation. Lorsque les développeurs travaillent avec Hibernate, ils prennent vite l'habitude d'utiliser le HQL pour les requêtes statiques et l'API Criteria pour les requêtes dynamiques. Cependant, le passage d'Hibernate aux EJB3 Entities provoque quelques frustrations. En effet, mis à part le JPQL qui est l'équivalent du HQL chez Hibernate, il n'y a aucune API pour générer dynamiquement des requêtes sur les EJB3 Entities…
Lire d'avantage