Hostylez Reveal yer trve dark attitude :3


15
Apr/09
0

URL Rewriting avec Stripes

Dans le cadre de mon stage, j'ai dû me mettre à Stripes afin de comprendre le fonctionnement de la plateforme actuelle.

Je souhaitait faire de la réécriture d'URL dans mes applications J2EE. Au cours de ma veille, je suis tombé sur UrlRewriteFilter, mais j'étais embêté du fait de devoir utiliser un filtre de plus sur mon application. Finalement, j'étais passé à côté de l'annotation @UrlBinding qui permettait de faire quasiment ce que je souhaitais au détail prêt que je devais terminé mes URLs par .action.

En fouillant un peu dans mon web.xml, j'étais tombé sur cette partie là :

1
2
3
4
<servlet-mapping>
	<servlet-name>StripesDispatcher</servlet-name>
	<url-pattern>*.action</url-pattern>
</servlet-mapping>

Pas de problèmes, je remplace la ligne 3 par

<url-pattern>/*</url-pattern>

Or, petits problèmes en perspective, plantage du serveur, redirections en boucle sur les mêmes pages. Owned.

Petite recherche de la part d'un collègue et j'apprends l'existence de DynamicMappingFilter dans Stripes. On reprends notre web.xml et on copie ceci :

1
2
3
4
5
6
7
8
9
10
11
<filter>
	<filter-name>DynamicMappingFilter</filter-name>
	<filter-class>net.sourceforge.stripes.controller.DynamicMappingFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>DynamicMappingFilter</filter-name>
	<url-pattern>/*</url-pattern>
	<dispatcher>REQUEST</dispatcher>
	<dispatcher>FORWARD</dispatcher>
	<dispatcher>INCLUDE</dispatcher>
</filter-mapping>

Et voilà, je peux mettre ce que je veux dans mes URLs !

Prochaine étape, pouvoir mettre des variables dans les @UrlBinding sans tout casser >_<