This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
EVERY Tomcat webapp has a "webapp" component to its URL. Or "context", as it's properly known. That's because Tomcat is a multi-application container, and the context servers as an indicator to Tomcat as to which of the applications it contains a given URL should be routed to. Context paths are simply 0 or more "directory levels" in the URL.
As William has said, there's a special context whose path is "/", meaning no levels at all and that's the root context. It's a little bit trickier to deploy than the others, since Tomcat is shipped with a root context already installed, so you have to replace it with your own app.
However, when you're fronting Tomcat with Apache, this isn't really necessary. You can use a "normal" context path in Tomcat and let Apache handle the difference. Typically, you'd define an Apache Virtual Host such as "app1.domain.com" and within the virtual host definition you'd provide the connector to Tomcat for that virtual host using either the traditional connector or a mod_proxy connector. Part of that connector's definition would include the actual Tomcat context path in the translated URL, so that the user could use the simpler URL but Apache would route it to the proper context.
Here's an example of how it works using mod_proxy and a deployed webapp under the context name "WMS-tomcat".
Customer surveys are for companies who didn't pay proper attention to begin with.
Joined: Jun 14, 2011
Thanks for your replies.
I've tried replacing the default 'ROOT' folder with my 'app1' folder and it worked like a charm!
I have mod_jk installed and was trying out your "proxy method" and is trying to confirm the changes required.
Below is my virtual host configuration for my subdomain:
Is this what you meant to reconfigure in Apache, in order to achieve the same result?
Thanks in advance!