You cannot forward a request to another server. Forwarding works if the servlet you are forwarding to is in the same server.
So your alternatives are:
- a redirect to the backend,
- sending a HTTP request to the backend, extracting the results and passing back to the original client in as the respond to the original request, or
- something else that doesn't involve HTTP at all.
Are there any helpful API in the servlet spec?
None apart from the ones that you have already found (obviously).
But are there some simpler solutions?
AFAIK, no. In particular a "forward" is no an option if the backend is a different server.