Apache component, part of Jakarta project and Tomcat.

Apache is used for serving web pages in variety of forms. Tomcat is used to run servlets and JSP pages, but is not really good for plain ol' web serving (even when it does have HTTP awareness and can serve stuff). Apache doesn't know anything of servlets and JSPs. Solution? Make Apache talk with Tomcat using mod_jk.

Basically, all you need to do is to create a file called workers.properties that describes where Tomcat is and what protocols it supports today. Tomcat creates automatically a file called mod_jk.conf-auto, creating appropriate JkMount commands there to make your web apps available from Apache. This autogenerated file is just Included from Apache's configuration files. Start Tomcat, start Apache, and your web apps are out there, seen from Apache as well as from Tomcat HTTP server part.

mod_jk talks with Tomcat using protocols called ajp12 (older) and ajp13, ports 8007 and 8009 respectively.

mod_jk is a replacement for old, less good mod_jserv.