Vadym Chepkov wrote:
Unfortunately, I have to install such application in ROOT context for this to
work and I am trying to avoid it.
I think Chuck pointed you to one way of achieving this, using the
UrlRewriteFilter module (www.tuckey.org). That is a third-party Tomcat
add-on module (free) which functions as a servlet filter (meaning it
works on any servlet engine, not only Tomcat), and fills a role similar
to the Apache httpd mod_rewrite module.
Basically, the filter catches a request early (before the servlets see
it), examines it, and according to configurable parameters, rewrites the
URL and forwards it to another webapp (or not).
Unfortunately, I don't know enough myself to show you exactly how to set
this up, but my guess would be something like :
- suppose for now that you set up your webapp (the one you wish to use
to handle requests to /A or /B), under tomcat/webapps/xyz
- then in the web.xml of the existing ROOT application, add the
configuration for the UrlRewriteFilter.
You want it to check the URL for requests to either /A/* or /B/*, and if
it matches, then rewrite the URL to /xyz/A/* or /xyz/B/* (for instance)
and re-direct this request to your webapp.
If it does not match, then you do nothing (and let the request filter
down to the normal ROOT app).
- now comes the tricky bit of which I am not sure : how do you set up
your webapp/servlet, so that it will process these /xyz/* URLs, as
re-directed by the filter, and without itself receiving the requests for
/xyz directly ?
I believe for that you have to set it up somewhere else than under
/tomcat/webapps, and then tell Tomcat, separately, where to find it.
But that's where my knowledge ends and someone else should take over.
Of course you have to set up your webapp to handle the URLs /xyz/A* and
/xyz/B*. But the previous post showed you how to do that.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org