Because only Tomcat occupies port 80, http does not.
Tomcat is a program, http is a protocol, and only programs will occupy ports.
Tomcat's functions include http parsing, in which the http request is encapsulated as httpservletrequest, so it is a software running under jvm without conflict.