Rhino itself is very slow. Sometimes it is 50-100 times slower than node. You can check it by running some of benchmarks from V8 suite in node and Rhino runtimes (just save .js files and redefine listeners in the runner code): http://v8.googlecode.com/svn/data/benchmarks/v5/run.html
While Java provides many solid and useful frameworks, you may have difficulties with them if you're not a Java guy.Node's module base, on the other hand, is very variegated and the code is awful sometimes (and lacks any documentation except README). But Node community is very responsive and open. Finding help with Java maybe a very complicated task.
RingoJS is not slow. We use it in the Erbix backend, running a separate Rhino/RingoJS engine for each account. It's really stable, fast, multi-threaded.
We use it in conjunction with PostgreSQL JDBC driver, serving large source code files, rendering templates written in JavaScript, static files upload/download, etc.
If you are running Apache Tomcat (or anything based on Coyote), as I can see from headers, you are _already_ serving slower than Node. Just because Tomcat needs more time to parse and return the response than Node. Only Jetty with NIO connector has comparably high speed. (Yes, I've tested by myself).
And, JFYI, you have to move static content to nginx or lighthttpd, Coyote serves static files even worse than Apache web server.
All you say about functionality of the platform has no relation to the speed.
I performed mentioned tests by myself while doing a tech research for online gaming startup. The code for V8 benchmarks is open, and it is very generic, so you can easily perform tests by yourself and see the difference.
While Java provides many solid and useful frameworks, you may have difficulties with them if you're not a Java guy.Node's module base, on the other hand, is very variegated and the code is awful sometimes (and lacks any documentation except README). But Node community is very responsive and open. Finding help with Java maybe a very complicated task.