I have a built small web app using Java/J2ee. I want to host it myself in my own servers (I have none now). I have already downloaded Ubuntu Server OS. I prefer to host my app on my own servers (preferably using Linux, Apache and MySQL) rather than google app engine or any other hosting service? 

1. Can some one guide me to look for server
hardware?
2. Where should I buy them?
3. What sort of things I should look
for in webserver hardware?
4. Which is cheaper, hosting on 3rd party
servers or our own servers?
5. Can you provide some links where I can learn about creating webapps and hosting on our own servers?