Open Source Web Servers in Java
|Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process.
Go To Jakarta Tomcat
|Jetty is a 100% Java HTTP Server and Servlet Container. This means that you do not need to configure and run a separate web server (like Apache) in order to use java, servlets and JSPs to generate dynamic content. Jetty is a fully featured web server for static and dynamic content. Unlike separate server/container solutions, this means that your web server and web application run in the same process, without interconnection overheads and complications. Furthermore, as a pure java component, Jetty can be simply included in your application for demonstration, distribution or deployment. Jetty is available on all Java supported platforms.
Go To Jetty
|Simple is a truly embeddable Java based HTTP engine. It also provides a component based framework for extendability, which is used to facilitate loadable services similar to Java Servlets. Simple has consistently out performed both commercial and open source Java Servlet engines and has a fully comprehensive API that is as usable for experienced Java developers as it is for beginners.
Go To Simple
|jo! is a pure Java webserver that implements the Servlet API 2.2, JSP 1.1, and HTTP/1.1. It features support for servlet tag, support for SSI, advanced thread management, virtual hosts, memory sensitive file cache, authentication using a role abstraction, automatic compressed transfer of text or HTML files, auto internationalization, auto servlet and JSP reloading, auto reload of WARs, hot deployment of WARs, and an easy-to-use Swing console. jo! can be used as a webcontainer for jboss and jakarta avalon-phoenix.
Go To Jo!
|The Rimfaxe Web Server (short name RWS) is a powerful Web Server with a servlet engine. Made with simplicity, speed and scalability in mind, RWS has many unique features
Go To Rimfaxe
|Jigsaw is W3C's leading-edge Web server platform, providing a sample HTTP 1.1 implementation and a variety of other features on top of an advanced architecture implemented in Java.
Go To Jigsaw
|Reattore is a simple single threaded HTTP server written in Java. Unlike most Java server applications, Reattore uses the socket channel features added in Java 1.4 to serve all requests from one thread, instead of spawning each request off to a new thread. In theory this provides better performance and allows the system to degrade well under high load.
Go To Reattore
|Brazil is a distributed content Web application server. The framework enables stand-alone systems to work together within the Web space, and a strong authentication architecture allows extranets to access intranets in an open environment without compromising security.
Go To Brazil
|Resin's high-performance application server features load balancing for increased reliability. Resin encourages separation of content from style with its fast XML and XSL support.
Go To Caucho Resin
|Pygmy is a tiny webserver ment for embedding into applications. The core of the server around 40KB. It provides a flexible way to plug-in features, similiar to apache modules or servlets, but it's a much more lightweight API. However, pygmy isn't a replacement for servlet technology. Servlet containers can be integrated into pygmy, and replace other heavyweight http servers. Pygmy can scale it's functionality down to the bare neccessities. Features can be optionally added and removed to reduce pygmy's already small binary size. Pygmy tries to err on the side of simplicity, but allow for enough flexiblity so that it can be tightly integrated with applications.
Go To Pygmy
|It is a very simple webserver, written in Java and completely portable to any Java environment which supports sockets.
Go To Fizmez Web Server
|Xerver is an advanced free GNU GPL Web and FTP server.
Go To Xerver
|A componentized, scriptable, event-based webserver, based on the JDK 1.4 New I/O (nio) package and on JicarillaFramework.
Go To JicarillaHTTP
|The Miniature Java Web Server includes most of functionality of real Web Servers including running servlets. The server is pretty small as in Java code as in result byte code. General purpose of the Web server is running and debugging servlets. However, if you host not so high loaded web site, you can use the server as a regular web server with some benefits against big brothers.
Go To Miniature Java Web Server
|Tornado HTTP Server is a multi-threaded web server written in Java. It aims to be secure, efficient, and portable, and provide a full implementation of HTTP 1.1.
Go To Tornado
|A free, simple, tiny (1 java file!), nicely embeddable HTTP server in Java.
Go To NanoHTTPD
|Winstone is a servlet container that was written out of a desire to provide servlet functionality 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.
Winstone supports v2.4 servlet specification, and is available in a lite version (155KB) and a full version (329KB). It supports JSP 2.0 spec when apache jasper is enabled.
Go To Winstone
Go To firecat
|The BareHTTP library implements a stripped down Java HTTP server able to satisfy only HTTP/0.9, 1.0, and 1.1 GET requests and HTTP/1.0 and 1.1 HEAD requests. It is suitable for embedded use in unit tests that require access to resources via HTTP. Also, it is convenient to use as a stripped down HTML documentation server.
Go To BareHTTP
|VQEmbWeb is a very minimal embedded web server for Java (5 or greater). The jar is 12K in size and the only dependency is Apache log4J.
It supports plain HTTP and HTTPS over SSL.
To use it, just use the EmbeddedServer.createInstance() method, passing in the port to open the server on and an instance of HttpRequestHandler to handle the requests. Your HttpRequestHandler has to return a Response object.
The URL parameters are handed to you in their unencoded form in the map. The URL without the parameters included is in the url string. There are also methods for:
* setting a redirect
* returning a 404 or a 500
* setting the content type
* setting binary, rather than text content
Go To VQEmbWeb
|Cheyenne Secure Web Server is the WebServer for enterprise systems.
Cheyenne Secure Web Server (SWS) v1.0 is a comprehensive solution for enterprise web stack using Apache server and high-end technology. Cheyenne SWS v1.0 combines http firewall, JAVA (J2EE), PHP, PERL and a domain control system with a advanced Apache HTTPD platform.
Go To Cheyenne Secure Web Server
|HttpdBase4J is an embeddable Java web server framework that supports HTTP, HTTPS, templated content and serving content from inside an archive. The classes are easy to extend as they utilize the Hollywood 'don't call us, we'll call you' principle to allow the user to overide the framework behaviour during all the different phases of the HTTP transaction.
Go To HttpdBase4J
|AsyncWeb is a high-throughput, non blocking Java HTTP engine - designed throughout to support asynchronous request processing.
AsyncWeb employs non-blocking selector driven IO at the transport level, and is asynchronous throughout - from the initial parsing of requests, right through to and including the services implemented by users.
AsyncWeb breaks away from the blocking request / response architecture found in todays popular HTTP engines. This allows it to be highly scalable and capable of supporting very high throughput - even in high processing latency scenarios.
A simple API allows new asynchronous services to be created easily - and out-of-the-box Spring integration allows them to be configured simply and with great flexibility. In addition to \"endpoint\" HTTP services, AsyncWeb also allows configurable \"chains\" of behavior - enabling \"filter\" like behavior to be applied to all requests. Pluggable \"resolvers\" map incoming requests to their target HTTP service - and are given access to the entire incoming request - allowing the routing possibilities to be very flexible.
Go To AsyncWeb
|Kangaroo-egg is a new webserver. It followed HTTP1.1 protocol and has DQM script language and container(very like Servlet/JSP). So it can used in medium or small web application.
It has the following special functions:
* Define the dynamic web page's extended name in yourself.
* Integrated function of compress HTTP content.
* Output file base on different permission.
* Easy create static page.
Go To kangaroo-egg webserver
|Rupy is a tiny Java NIO HTTP server.
* NIO (Non-Blocking IO)
* Asynchronous Reply
* Chunked Transfer
* Session Timeout
* Filter Chain
Go To Rupy
|Sambuca is a Java HTTP Server framework that allows developers to embed a HTTP server directly in their applications with custom HTTP Request Handlers, so that their application can directly process incoming HTTP Requests and easily send back HTTP formatted responses to the requesting client. Applications can host standalone HTTP Services such as Web Service without having to deploy and integrate with a full application server such as Tomcat, JBoss, or WebLogic.
Go To Sambuca