My Toolbox
Java
Java is a mature language with an extensive set of libraries and frameworks. With IDEs such as Intellij and Eclipse, it has the best tooling support of any open-source language. This makes Java the go-to choice for efficient webapp development.
The ubiquity of the JVM also makes it a great choice for non-webapp software, and integration with mobile platforms such as Android.
Wicket
Apache Wicket is a modern framework for building Web 2.0 applications. It builds on standard W3C-compliant HTML pages, which allows for rapid-prototyping. It's known for being very designer-friendly, which means you can have a high-performance application that looks great too.
Any serious web application will undergo many changes during its lifecycle. Wicket supports your changing needs with its type safety- refactoring can be done simply and safely. Its excellent support for unit and functional tests provides additional safety when changes are underway.
Google App Engine
Google App Engine is a great way to get an app running in the cloud with a minimum amount of system administration. However nothing comes for free, and GAE's cost generally comes in the form of its non-standard datastore API and somewhat restricted servlet environment.
I've been using GAE since the debut of its Java API, so I can help you navigate the many pitfalls of running an app on Google's cloud.
GWT
Google Web Toolkit is great for building applications that behave like traditional desktop apps, but run in the browser.
Writing apps in pure Javascript is tedious, error-prone, and it's difficult to make them work well on all browsers. GWT allows you to write your app in Java, with all of its extensive tooling support. Your code then gets compiled down to Javascript, perfectly optimized for all the major browsers.
GWT is appropriate if you have an "all-in-one-page" application in mind. If you need an app to run in a single page and have the feel of a desktop-app (think "Gmail"), GWT is a good solution.
Be aware that GWT is not generally suitable for sites needing SEO (it's very hard to get dynamic sites properly indexed by search engines).
Hibernate
Hibernate is a mature ORM that integrates well with Java generally, and Wicket in particular. It has a bit of a learning curve, but once mastered, it's a real time-saver.
Hibernate does come with its fair share of pitfalls, but a good test suite can guard against most of them. I create JUnit functional tests for all Hibernate model code as a standard practice.
I can also help you set up Hibernate to automatically generate your schema (or update it) directly from your Java model classes.
MySQL
While perhaps not as full-featured as PostgreSQL or Oracle, you can't beat MySQL on install-base and community support.
Github
Although I can use any source-control service you prefer, I highly recommend Github.
I create a private repository for each customer project, so you'll enjoy both privacy and easy access to your code as your project progresses.