Katari - Spring MVC - SiteMesh - UrlrewriteFilter

31 views
Skip to first unread message

Martin Olivera

unread,
Feb 22, 2012, 1:20:36 PM2/22/12
to katar...@googlegroups.com, development

Hola, quería consultar si alguien había probado agregarle el filtro de reescritura de urls (urlrewritefilter http://code.google.com/p/urlrewritefilter/) a un proyecto con katari.

Por lo que dice la documentación, hay que agregar al 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>

Y en un archivo aparte, los mapeos de para cada url. Basicamente, la herramienta está funcionando, es capaz de tomar una url linda y redirigirme hacia donde quiero. El problema que estamos teniendo es que, una vez aplicado el filtro de url, es como si no se estuvieran aplicando los demas filtros, sitemesh por ejemplo, porque la pagina a la que redirige no aparece decorada. ¿Puede ser que tenga algo que ver el orden en que se agregan los filtros al web.xml? El filtro de urlrewriter lo estoy poniendo como primer filtro, y luego viene el de springBootstrapFilter.

Saludos, muchas gracias

Martin Olivera

unread,
Feb 22, 2012, 1:50:06 PM2/22/12
to Ricardo Buitrago, katar...@googlegroups.com, development
si, sabemos eso del orden de los filtros, de hecho use urlrewrite en otros proyectos antes, sin problemas, la pregunta esta orientada a algo que parece pelearse con Katari, ya que es como si un filtro anulara al otro, si engancha el de urlrewrite no funcionan los filtros de katari, y viceversa si invertimos el orden. Preguntaba en realidad si Katari hacia algo espcial con los filtros, como para justificar este comportamiento, o si alguien habia tenido un problema similar (incompatibildiad entre filtros de katari y filtros externos, digamos?)

La pregunta ya lo posteamos hoy temprano en kernel panic http://kernelpanic.corp.globant.com/questions/327/katari-spring-mvc-sitemesh-urlrewritefilter pero no salio a esta lista por eso la volvimos a postear aca

El 22 de febrero de 2012 15:35, Ricardo Buitrago <ricardo....@globant.com> escribió:
Tomcat (asumiendo que estas en tomcat) es bien estricto con el orden de los elementos, si la validacion con http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd falla, cosas raras pasan .. puedes adjuntar el web.xml completo? Ah, y repostea esto en Kernel-panic. :)

Ricardo Andrés Buitrago Carvajal
Globant Creative & Social Studio - Developer
Phone ext. #7986
UK: +44 (20) 7043 8269 | CO: +57 01800 952 0641 | AR: +54 11 4109 1700 | US: +1 877 798 8104




2012/2/22 Martin Olivera <martin....@globant.com>

Pablo Graña

unread,
Feb 23, 2012, 7:41:49 AM2/23/12
to katar...@googlegroups.com, Ricardo Buitrago, development
Nunca integramos urlrewrittefilter en katari. No conozco exactamente
como funciona, pero me imagino que debe hacer algo como esto:

1- reescribe las urls de entrada: por ejemplo, si se hace un request a
x/y/z se 'forwardea' a a/b/c.
2- si en el html hay un link que apunta a a/b/c, se modifica por x/y/z.

El problema debe estar en el punto 1: katari mira los parametros de
request para saber como manejarlo. El tema es que el forwarding hace
'cosas raras' con el request (ahora no recuerdo los detalles, pero
cuando se forwardea, creo que se modifica la informacion del request
que tiene que ver con la url, y la info original se guarda en
atributos del request). Como katari mira el getRequestURL,
getRequestURI, getPathInfo, getServletPath, etc del request, el
rewriter tiene que mantener esta info consistente con katari. Si estas
viendo correctamente el output, pero sin los decorators de sitemesh,
puede ser que el filtro este haciendo las cosas bien y se lleve bien
con katari, pero que tenga issues con sitemesh.

Por lo que vi, sitemesh usa getServletPath, getPathInfo y
getQueryString para saber como decorar una url. Hay que ver que pone
el urlrewrittefilter en esos valores.

saludos

2012/2/22 Martin Olivera <martin....@globant.com>:

> --
> You received this message because you are subscribed to the Google Groups
> "katari-user" group.
> To post to this group, send email to katar...@googlegroups.com.
> To unsubscribe from this group, send email to
> katari-user...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/katari-user?hl=en.

--
Pablo Gra\~na
Chief Architect
Globant
Arg Office: +54 (11) 4109 1743
UK  Office: +44 (20) 7043 8269 int 8043
US  Office: +1 (212) 400 7686 int 8043

Martin Olivera

unread,
Feb 23, 2012, 4:05:43 PM2/23/12
to katar...@googlegroups.com, Sebastian Cesar Fondra, Ricardo Buitrago, development
buen punto para explorar, gracias Pablo, efectivamente lo que estamos viendo es que no se activa el filtro de sitemesh y las cosas se ven sin aplicar los decorators...
Reply all
Reply to author
Forward
0 new messages