I think JSP is a great contender, and I see your point about overengineering. PHP with type-checking is alright, but if I'm going to use a scripting language I'd prefer Python or Ruby.
Both ruby and python seem to encourage duck-typing. I worked with both of them in the past and that's the main reason why I always came back to PHP. I need my type declarations...
Agreed. The way i see it for the web is PHP is just a better Ruby/Python in terms of libraries, package management, deployment, language features, performance, with the only drawback being a quirky standard library.