You said frameworks don't decide expressiveness. I was quoting an example that they do. Whether you use jsp or not is tangential. Java isn't anywhere near python or ruby in terms of expressiveness, neither are the frameworks.
EDIT: Like another commenter pointed out, if you can get a 55k LSoC Java project down to 8k Python project, that says something about expressiveness.
A typical setup is to use Rails for front-facing website and Sinatra for web-services (RESTful).
What I'm saying is that that can be done with Spring MVC + JAX-RS:
@Produces("application/xml")
@Produces("application/json")
// Want more? add your own? very flexible
// @Produces("application/atom")
// @Produces("text/plain")
// @Produces("application/something+xml") <-- custom
public Employee get(@Parameter("id") final int id){