First of all, there is no J2EE anymore. There is Java EE. One profile in Java EE is the web profile. So while Java EE has a bunch of complex, enterprise-level stuff in it, you just use the piece you need.
However, it isn't even like Java EE is the choice for developing web applications in Java. It is the standard, but people have enjoyed great success with open-source frameworks like Spring MVC. If you expand your scope beyond Java to all JVM languages, you have Grails (in Groovy) and Play (in Java but also in Scala) at your disposal as well. Both are extremely good.
And then there are so many other non-JVM options like Zend (PHP) as you say but also Rails, Django (Python), etc.
So to truly appreciate what's "better," you need to consider a lot of things:
- Your comfort and productivity with the language
- Your comfort and productivity with the "ecosystem"--i.e. accessing third-party libraries to help you with various tasks, ease of mocking and testing, boilerplate code and mundane tasks being abstracted away, ease of implementing caching and minifying web assets, etc.
- Ability to find help online through a vibrant community
- Your requirements. If you need to access Amazon S3 buckets, for example, and your language or third-parties libraries in that language have poor S3 support, you should avoid it. Similarly, if you need to use Neo4J as a data store but there is poor support, move on.
There is no "right" answer to this question. I would suggest the options approach described in Lean Software Development. Do some research to narrow your choices to three. Then get a site up and implement a representative feature with all three choices. The less appropriate choices for you will eliminate themselves and leave the best choice for you.
As for your last question, Java is a programming language; Java EE is an enterprise software platform utilizing the Java language and the JVM (with multiple profiles as mentioned). The Ruby part of the application you mentioned was probably utilized with JRuby, which enables you to run Ruby on the JVM via JSR 223.