WinstoneServlet

From Wikipedia, the free encyclopedia

‹The template Advert has been proposed for deletion here.› 

Winstone is a servlet container that was written out of a desire to provide servlet functionality without the bloat that full Java EE compliance introduces.

It is not intended to be a completely fully functional Java EE style servlet container (by this I mean supporting extraneous APIs unrelated to Servlets, such as 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 original goals in writing Winstone were:

  • Supply fast, reliable servlet container functionality for a single webapp 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-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. (http://jakarta.apache.org)

http://winstone.sourceforge.net

[edit] Advantages of Winstone

  • Winstone has 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.