Recherche sur le blog

mardi 28 décembre 2010

[Java] De PHP aux JSP, quelles fonctions utiliser ?

Si vous n'êtes pas à l'aise avec le PHP mais bien avec le langage Java, il vous est sans doute venu à l'esprit de développer un site internet en JSP, avec des servlets ou non. Mais vous vous demandez quelles sont les fonctions disponibles pour supprimer des tags HTML, valider une adresse e-mail ou pour effectuer tout autre sorte d'opération facilement réalisable en PHP. Nous allons voir ces fonctions ensemble et leur équivalent dans le langage opposé.

Convertir une chaîne en un digest SHA-1 ou en MD5 
  • DigestUtils.shaHex(chaine);
  • DigestUtils.md5Hex(chaine);
Ces fonctions, contenues dans le package "org.apache.commons.codec" effectuent la même tâche que les fonctions "sha1" et "md5" en PHP : elles calculent le digest d'une chaîne donnée et le retourne sous forme de... chaîne de caractères. Cela est souvent utilisé pour stocker des mots de passe autrement qu'en clair dans une base de données. Le package Java, commons-codec, est disponible en version 1.4.

Valider un e-mail ou une URL
  • EmailValidator.getInstance().isValid(chaine);
  • new UrlValidator().isValid(chaine);
Chacune de ces méthodes ont été simplifiées. Pour un e-mail, on récupère une instance de la classe "EmailValidator" puis on appelle l'opération "isValid". Pour l'URL, on crée le validateur puis on utilise la méthode adéquate. En PHP, sauf si on utilise un framework, il est possible de valider grâce aux expressions régulières. A ma connaissance, il n'y a pas de classe existante le permettant. En Java, le package commons-validator est disponible en version 1.3.1. à ce jour.

Remplacer les balises HTML ou autres caractères par les entités adéquates

En Java, le package Apache commons-lang contient des classes utiles pour remplacer les caractères par des entités, et remplace donc les fonctions "htmlentities" ou bien même "htmlspecialchars". Ainsi, on peut utiliser par exemple la fonction StringEscapeUtils.escapeHtml(chaine). Enfin, le package est disponible en version 2.5. sur le site officiel.

Il existe bien sûr d'autres projets Apache utiles pour enrichir votre site internet. D'autres astuces vous seront données plus tard sur ce blog.