Java servlets are server side Java programs which accept requests from clients (usually, but not necessarily, HTTP) and return a response. They implement Sun's servlet API and can be run under most web servers. They also require a program, separate from a web server, usually called a "Servlet Engine," that actually executes the program.
See CgiVsServlet and ServletDesign. See also ServletBasedWiki for a discussion of building a WikiWikiClone using JavaServlets.
Any new development in Servlets in two years since 2002?
There is an open-source servlet engine called Tomcat (see http://jakarta.apache.org/tomcat/) that is maintained by the Apache folks as part of the Jakarta project. Commercial engines include iPlanet Application Server, Sun's Java Web Server, ServletExec, WebLogic, Resin, and a bunch of others.
Have a look at WhyEdit for the current project that I am working on that has parallels with WikiWikiClones. It is a slightly different take on the whole group editing arena. -- DanielHean
As some may have noticed, it can be a frustrating process trying to put servlets on the internet. Most public web hosts are happy to support CGI, ASP etc., but have little understanding of or support for servlets, despite their many claimed advantages over common perl scripts. If you know of any public web hosting companies which support servlets, please add them to the list on PublicServletHosts. If you have any experience (good or bad) with any of the hosts listed, please add a comment.
See the AtgDynamo pages for information on Droplets.
The problem with servlets is that the HTML of the view has to be generated by the code. There is an obvious need for a WysiwygJavaServlet IDE.
Well, I'm not sure a wysiwyg IDE would help much with servlets. Certainly, pages which are highly static can be wysiwyged as HTML. Pages which are mostly static with some unconditional dynamic stuff can be mostly "painted" into JSP. But, I have found that some pages are extrememly run-time dependent in their content, full of conditional code that if you try to cram it into the page (e.g. using scriplets) becomes unbearable and unmanageable in any wysiwyg tool I have used. For highly conditional stuff, you really need to slam in the code by hand in a servlet since there is no representative wysiwygable static view at servlet creation time -- AnthonyLauder
Ah.. for those not familiar, please see http://jakarta.apache.org/velocity/ymtd/ymtd.html which is a very nice essay on why and how not to slam the code into a servlet! Disclaimer-> I didn't write the essay I just read it.