There are 2 ways to solve this common problem when you have Apache HTTPD + Apache Tomcat. Both involve using Apache HTTPD as a proxy server for Tomcat.
The Apache mod_jk module is the traditional way to do this. It establishes a tunnel from Apache HTTPD to Tomcat via Tomcat's proxy port (8009). You provide proxy configuration in the Apache configuration file(s) that includes the external URL
pattern and the Tomcat URL translation of that pattern. The Tomcat server also has worker directives to assist in the process.
The Apache mod_proxy module is the newer and preferred way to do this. It works much like mod_jk, except that it's simpler to configure and you don't have to make any configuration changes on the Tomcat side. However, mod_proxy should be used with care. If you set up a reverse proxy as an open proxy (which isn't hard to do), a whole army of nasty people based on Taiwan's HINET ISP service will show up like flies around a dead animal and within 2-3 days, your system will be so busy operating as a spam relay that it won't be usable for anything else.
I'm picking on HINET specifically since they're atrociously notable offenders to the point where my network has banned thousands of HINET IP addresses, but actually would-be spammers anywhere in the world can - and will - do the same.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.