I would suspect that due to the multi-platform nature of Java, there is not much attention paid to Unix-based methods, such as what exists in Apache Httpd, as they may not necessarily apply to all platforms on which Java can run.
In Java, privilege separation is built in using the security manager. Whether this is as good as root / non-root separation, I'm not sure (there can always be errors). However, its policy is in principle capable of expressing more subtle access rules than simply distinguishing between root and non-root users.
Jetty had this, but it seems to have fallen in Jetty 9 (you can still use the security manager, but you may have to write your own policies and a bit more work to implement them in the container).
The Jetty Policy Document also says:
Typically, the user trusts the application that they are developing, or trusts enough to deploy the webapp to a berth instance. If you do not know what you need to use the security manager setting, probably not.
I'm not sure I agree with that. In fact, if there is a webapp that I suspect is malicious, I won’t start it anyway, but using the security manager is also associated with potential security errors. Anyone can write errors, even good programmers. Having a mechanism that limits what’s possible with webapps is definitely good.
A reasonable policy will certainly not allow web clients to access configuration files and keystores.
I would also like to argue that this separation of webapp also underlies the concept of “container” (although security is only one of the goals of this separation, it seems to have been lost).
In fairness, this is not as simple as the separation suggested by the root / forking mechanism in Apache Httpd. The strength of the Java security policy also brings complexity. I believe that these functions, as a rule, are not completely understood and, therefore, are used little. Using Apache Httpd (or Nginx or others) as a reverse proxy tends to be a simpler solution for protecting private keys.
Another way you could peek is to use the PKCS # 11 keystore. This is supported by the JRE. Hardware security modules help prevent your private keys from being copied. (From a Java perspective, you get a PrivateKey instance that delegates cryptographic operations to the PKCS # 11 library, but from which you cannot extract personal data at all.)
Of course, this is a problem when you do not have access to hardware, but there are software implementations of this (searching for "Software HSM" may seem strange, but it will bring several results). Not all of them will allow you to separate you, but some of them should (in fact, by communicating with another object containing a private key that you could run as another user). I have not tried, but this one might be of interest.