I'm on Sierra, and I have one legacy application that requests Java 6 to run. I have Java 7 installed, and I've also installed Java SE 6 from Apple, but I'm not sure how to force the application to use it.
When I launch it now, it does not launch properly, although the process seems to have started:
$ ps -ef | grep Java 501 572 1 0 11:29PM ?? 0:04.63 /Applications/Memoir'44 Online.app/Contents/MacOS/JavaApplicationStub
There may be some subtleties with JavaApplicationStub and plists that I don't understand, but in any case the application never gets beyond initial startup (drawing a blank window), and does not function.