Some time ago i had a problem with starting tomcat from Eclipse. First time i couldn't solve this problem, but few months ago i run into it again. Brief introduction to problem:
Console says "Server startup in ...ms"
Server's state still is "Starting..."
After timeout it says "Server ... failed to start"
My problem was that first page (http://localhost/) contains a redirect. So Ecipse did receive status code 30x (instead of 200 OK). When I removed the redirect, it started working. Of course, check WTP Tomcat FAQ for other possible problems.