That's strange. Is this a clean installation? Which exact Windows OS? And which version and vendor of Java do you use? Can you post the logs that you see on the console (not the server.log) from the time you start the server?
Thanks for your response. You pointed me in the right direction. It turned out my jdk wasn't a clean installation. I had copied servlet-api.jar into its jre/lib/ext directory a few months ago and I think that was causing this problem. With a totally clean jdk the problem goes away.