My usual solution is to implement a kind of mod_rewrite filter. It has
an advantage of not only allowing to direct multiple URLs into a single
place, but also to do a lot of URL customization.
Basically, something like this:
public class UrlRewritingFilter implements Filter {
private FilterConfig filterConfig;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
@Override
public void doFilter(ServletRequest request, ServletResponse
response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
String rewrittenUrl =
mapUrlToACanonicalOne(req.getRequestURI()); // mapUrlToACanonicalOne
returns e.g. "/location" for "/location", "/Location", "/miejsce", etc.
if (rewrittenUrl == null) {
chain.doFilter(request, response);
} else {
filterConfig.getServletContext().getRequestDispatcher(rewrittenUrl).forward(request,
response);
return;
}
}
@Override
public void destroy() {
this.filterConfig = null;
}
}
I configure it like this in web.xml:
<filter>
<filter-name>UrlRewritingFilter</filter-name>
<filter-class>package.UrlRewritingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewritingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users