Tiny Webserver Integration Toolkit (TWIT)
Q What?
A TWIT is a tiny webserver written in Java, which aims to be portable and small enough to easily be integrated into a web development project, or any development project at all. It is released under the GPL open-source license.

For example instead of running your Java servlet on Tomcat in Apache, you could simply use TWIT to load it up, and the Java servlet might be the website's root object and sole content, or you might have several cgi/servlets as well as static HTML. TWIT might be suitable during the development cycle of a servlet/cgi for rapid deployment, or for serving content on a device without support or resources for the standard HTTP cgi/servlet server. One might also integrate a TWIT server into an application to provide HTTP access to data, easy configuration, a computer independent display method, or to extend the HTTP protocol amongst many possibilities.

TWIT currently fully supports the HTTP/1.0 and CGI/1.1 specifications, HTTP/1.1 support is partial (currently supports persistent connections) and servlet support is in the works. It uses a simple, but versatile, XML configuration file for all it's options and allows per-directory .htaccess configuration for HTTP basic authentication. It also has an extensible authentication support system.

Q Why?
A TWIT started out as a networking course assignment (specifically CSCD58 Assignment 1 at the University of Toronto at Scarborough) ..however being the TWIT I am, I continued the assignment way past the required simple web server, and hence disregarded the written section of that assingment until the last minute. Needless to say I did not do very well on the assignment, but some good did come out of it, and TWIT was born :-).

Q How?
A TWIT is programmed in Java, and requires JRE 1.3.1+ or the equivilant. Although it has been compiled to native code using GCJ, this was without cgi and servlet support. Although in principle an operating system independent web server, it has been developed under Linux, and thus not all funcationailty has been tested under other operating systems and some parts are known to be broken under very dissimilair operatings systems (e.g. CGI support in Windows).

Q Where?
A You can download the latest release of TWIT here. You can also checkout the latest development version of TWIT from CVS, see the instructions here.

Q When?
A I started writing TWIT in Febuary 2004, since the assignment was handed in I have come back to it time and again to add new support/fix old bugs.

Q Who?
A Currently the sole developer is myself, Yani Ioannou, although anyone else who wishes to contribute to the project is welcome to submit patches to myself, and I will consider adding you to the list of developers.

Documentation
Please see the javadoc API.