- Winstone Servlet Container
Winstone is a GPL-licensed
servlet container that was written out of a desire to provideJava Servlet functionality with a minimum of unnecessary features. It is not intended to be a completely fully functional Java EE-styleservlet container implementation. Winstone does not supportAPI s unrelated to Java Servlets, such asJavaMail ,Enterprise JavaBean s, etc. Other Servlet container implementations, such as Tomcat, Jetty, Resin, JRun, andWeblogic can provide the missing functionality.The original goals in writing Winstone were:
* Supply fast, reliable
servlet container functionality for a single web app per server (this restriction is lifted as of v0.7)
* Keep the size of the core distribution jar as low as possible (currently 155KB)
* 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-4 MB Windows executable 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."(all text above used with permission)"
Advantages
* Simple fast deployment - a single jar file is often all that's needed, which can be started from the command line with something as simple as "java -jar winstone.jar
"
* A focus on decomposability. That is, it has been designed in a way that if you don't need a certain feature of the servlet specification (eg authentication, cluster support, servlet reloading or JSPs), it is possible to remove the package corresponding to that feature from the winstone jar file, and the feature will be disabled. This can help in embedded environments, where size is at a premium.
* Size and speed: winstone has a lot less code than other containers, so it starts faster and doesn't have any problems running on older hardware. It also supports J2SE v1.2 JVMs if you supply an XML parser.
* From v0.7, winstone allows the user to define their own web applicationclassloader class. This is extremely useful for Aspect Oriented Programming, as it allows runtime modifications to web application code without precompilation or a special JVM.External links
* [http://winstone.sourceforge.net http://winstone.sourceforge.net]
Wikimedia Foundation. 2010.