Winstone is a servlet container that was written out of a desire to provide servlet functionality. Winstone works without the bloat that full J2EE compliance introduces.
It is not intended to be a completely fully functional J2EE style servlet container (by this I mean supporting extraneous APIs unrelated to Servlets, such as JNDI, JavaMail, EJBs, etc) - this is left to Tomcat, Jetty, Resin, JRun, Weblogic et al.
Sometimes you want just a simple servlet container - without all the other junk - that just goes. This is where Winstone is best suited.
The short version (because the long version is way too politically incorrect) is as follows:
Winstone is the name of a rather large Jamaican man a friend of mine met one night, while he was out clubbing in the Roppongi area of Tokyo. He (my friend) was a little liquored up at the time, and when Winstone suggested they head to "this really cool club" he knew, he didn't think anything was wrong. It wasn't until Winstone led him down a dark stairwell and dropped his trousers that my friend clued in and ran like hell.
It was too good a story to let die, so I named this project Winstone so that said friend will continue to be reminded of it.
Here are some key features of "Winstone":
· Supply fast, reliable servlet container functionality for a single webapp per server
· Keep the size of the core distribution jar as low as possible (currently 160KB)
· Keep configuration files to an absolute minimum, using command line options to optionally override sensible compiled in defaults.
· Eventually compile with GCJ to make a 3-4Meg windows exe for local development/deployment of servlets. This has not happened yet, because of some GCJ class loading problems.
· Optionally support JSP compilation using Apache's Jasper.
If you want to build from source code, you will need to download and install Apache Maven. The following instructions assume you have already installed Maven and have the maven shell script in your path (to get Maven, see http://maven.apache.org/).
To build Winstone, unpack the tree:
tar zxf winstone-src-0.8.tar.gz
Then build it:
maven clean jar
The winstone.jar file will be in the target directory after the build is complete.
To run it:
java -jar target/winstone-0.8.jar --webroot= (+ other options)
- OR -
java -jar target/winstone-0.8.jar --warfile= (+ other options)
- OR -
java -jar target/winstone-0.8.jar --webappsDir= (+ other options)
- OR -
java -jar target/winstone-0.8.jar --hostsDir= (+ other options)