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
Stripes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to