Apache gestiona las conexiones, la capa de cifrado y la compresión de datos, dejando a los parsers de HTML la generación de documentos que serán devueltos como respuesta a una petición.
Lo ideal es que de lado de apache configures el vhosts si, digamos, tienes también un sitio en php, uno en html simple, otro en java... etc. Así cada uno trabajará de manera independiente.
Una vez que apache sirve datos a java, server.xml contiene la información necesaria para iniciar la aplicación correspondiente como respuesta a la petición que apache resolvió, y una vez que la aplicación ha finalizado devuelve la respuesta a apache para que este la comprima y devuelva al cliente antes de cerrar la conexión.
Por tanto si sólo vas a servir aplicaciones distintas, lo más conveniente es que uses server.xml para seleccionar la aplicació correcta.
Si vas a tener conexiones distintas para cada URL (certificado SSL, nivel de compresión, acceso a directorios, etc.) entonces debes hacerlo también en la configuración de apache.
A veces es bueno arrancar la hoja del cuaderno y empezar de nuevo, porqué no intentas hacer que funcione primero una sola aplicación con la configuración por defecto y después agregar la segunda aplicación???