I have a Google Appengine/Guice/Wicket Application. My problem is that due to the mapping I can't access the /_ah/admin Page anymore.
My Servlet Module says:
serve( "/*" ).with( WicketServlet.class, getWicketServletParams() );
so far it is more or less expected that accessing /_ah/admin gives a 404.
I problem is that I don't find a workaround.
I tried different combinations of serveRegex(), but even
serveRegex( "/.*" ).with( WicketServlet.class, getWicketServletParams() );
leads to problems, as the URL dispatching of Wicket gets broken. The application keeps on repeating the Path (e.g. /list becomes /list/list etc.).
Any ideas?
I know this is is a pretty old question with an accepted anser, however the solution is more straight forward than URL rewriting. In your Guice servlet module you can pass configuration parameters as follows:
I solved the same problem with Spring/GAE using the UrlRewriteFilter. Please take a look at the source here. I assume a similar solution could be used for your situation.
I have found a more elegant solution :
Instead of using the GuiceFilter, subclass it to intercept _ah/* calls and let the servlet container do its regular job instead of letting Guice intercepting it. Here I prevent Guice from intercepting /_ah/* but /_ah/warmup because /_ah/warmup is supposed to be handled by the programmer.
You then just have to change your web.xml with :
instead of com.google.inject.servlet.GuiceFilter
Just for reference, here is a way to do it with serveRegex