Conventional wisdom seems to indicate that Java applications must always be inverted by proxy. That's what I've always done, and so wherever I've worked.
I have read many times that reverse proxy is recommended without much foundation. More often with tomcat and apache.
I understand some of the benefits generally associated with reverse power of attorney; you move some of the validation of the application and the filtering north of the application, but I was wondering if there was a more detailed explanation to this, specific to Java?
I've been looking for that a bit in Google and I have not found anything detailed or convincing.
I guess tomcat receives the HTTP request rather than forwarding it directly to the application.