mod_jk
mod_jk is an Apache module used to connect the Tomcat servlet container with web servers such as Apache, iPlanet, Sun ONE (formerly Netscape) and even IIS using the Apache JServ Protocol. The mod_proxy_ajp module performs a similar function to this module, while being integrated into the mod_proxy framework.
A web server waits for client HTTP requests. When these requests arrive, the server does what is needed to serve the requests by providing the necessary content.
Adding a servlet container alters this behavior. Now the web server needs also to:
- Load the servlet container adapter library and initialize it (prior to serving requests).
- When a request arrives, it needs to check and see if a certain request belongs to a servlet, if so it needs to let the adapter take the request and handle it.
The adapter needs to know what requests it is going to serve, usually based on some pattern in the request URL, and to where to direct these requests.
Things are more complex when the user wants to set a configuration that uses virtual hosts, or when they want multiple developers to work on the same web server but on different servlet container JVMs.