|
|
URL Rewriting en Java
URL Rewriting en JavaMise en oeuvre de l’URL Rewriting dans une application Java J2EE27 novembre 2006, parLa technique de l’URL rewriting (ou réécriture d’URL) permet une manipulation de l’URL « à la volée », lors de son appel par l’utilisateur. Les usages sont multiples : optimisation du référencement, simplification d’URL, gestion de la session, ... Cela permet de transformer une URL du type http://www.netapsys.fr/news/showarticle.do?id=15 en http://www.netapsys.fr/url_rewriting_java.html L’adresse est ainsi plus facile à retenir pour un internaute mais également pour les moteurs de recherche. Nombres d’entre eux ne prennent effectivement pas en compte les pages dynamiques composées de paramètres mais ils apportent par contre une importance significative aux mots clés présents dans l’URL. Cette technique permet également de s’affranchir de l’implémentation technique du site et de conserver le référencement en cas de modification de son architecture. Le monde Apache dispose d’un module puissant pour gérer ces manipulations : mod_rewrite. URL Rewrite Filter Il est également aisé de le mettre en oeuvre sur une application Java J2EE. Le principe consiste à utiliser un filtre (javax.servlet.Filter) qui intercepte chaque appel au serveur web, manipule l’URL demandée pour la faire correspondre à l’URL connue par le serveur, et relance finalement le cycle de vie initial de la requête. Il existe des filtres open source qu’il suffit d’intégrer à votre application J2EE. « URL Rewrite Filter » est par exemple disponible sous License GPL. Il est disponible à l’adresse http://tuckey.org/urlrewrite/. Sa mise en oeuvre n’impacte en rien l’application dans laquelle il s’intègre et se fait en quelques étapes : 1. Import de la librairie dans l’application : « urlrewrite-2.6.0.jar » dans le dossier « WEB-INF\lib » 2. Paramétrage du filtre dans le fichier « web.xml » : <filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter </filter-class> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 3. Ajout du fichier de configuration du filtre (« urlrewrite.xml ») dans le dossier « WEB-INF ». L’emplacement et le nom de ce fichier peuvent être modifiés à l’aide de l’instruction suivante dans le paramétrage du filtre (fichier « web.xml ») : <init-param> <param-name>confPath</param-name> <param-value>/WEB-INF/urlrewrite.xml</param-value> </init-param> 4. Paramétrage des règles de réécriture d’url dans le fichier de paramétrage « urlrewrite.xml » : < ?xml version="1.0" encoding="utf-8" ?> < !DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN" "http://tuckey.org/res/dtds/urlrewri..."> <urlrewrite> <rule> <from>^/news/showarticle.do ?id=15</from> <to>/url_rewriting_java.html</to> </rule> <rule> <from>^/societe.html</from> <to type="forward">/quisommesnous/index.html</to> </rule> <rule> <from>^/offre.html</from> <to type="forward">/notreoffre/index.html</to> </rule> </urlrewrite> Dans cet exemple, la première règle indique au filtre que lorsque l’URL demandée commence par « ^/news/showarticle.do ?id=15 » (tag <from>), il doit transmettre la requête au serveur sur l’URL « /url_rewriting_java.html » (tag <to>). Tout comme mod_rewrite, URL Rewrite Filter offre des fonctionnalités très poussées :
Pour en savoir plus :
|
|
||
|