Reattore is a simple single threaded HTTP server written in Java. Unlike most Java server applications, Reattore uses the socket channel features added in Java 1.4 to serve all requests from one thread, instead of spawning each request off to a new thread. In theory this provides better performance and allows the system to degrade well under high load.
Reattore is primarily a vessel to allow the author to experiment with new tools and techniques. In other words the techniques and tools learnt on the way are more important than the end product. In particular I plan to try tools such Maven (an automatic website generator), checkstyle (a coding style enforcer), JUnit (a unit testing framework), and techniques from Extreme Programming such as "Small Releases", "Simple Design", "Test-Driven Design", and "Continuous Integration". I'm not sure that the Extreme Programming methodology applies to many classes of project, but it will be interesting to see with this one.