I am in the process of architecting a new web site. I am planning on using HTML/Javascript/Ajax on the client side, and MySQL. The question is what would be the best choice of technology on the server side to provide a scalable (within reason) solution.

I don't want to go down the full-fat J2EE route if at all possible. What I would like to build is a simple server farm. Are there easy to use frameworks in Java (J2SE) that would make this possible? How would this work with Apache and/or Tomcat (can these be used to act as a load balancer).

I would also consider php on the server side as there is such strong support for it for websites, but I think Java is likely to be a more robust and performant solution. For either option I would be looking to use free tools....

All architectural advice, or info on good references would be appreciated as I am finding it difficult navigating the line between small hobbyist website and full-on enterprise level architectures.