Build Systems
Cache Solutions
Charting & Reporting
Chat Servers
Code Analyzers
Code Beautifiers
Code Coverage
Connection Pools
EJB Servers
Expression Languages
Forum Soft
General Purpose
HTML Parsers
Inversion of Control
Issue Tracking
J2EE Frameworks
JSP Tag Libraries
Job Schedulers
Logging Tools
Mail Clients
Network Clients
Network Servers
PDF Libraries
Parser Generators
RSS & RDF Tools
Rule Engines
SQL Clients
Scripting Languages
Search Engines
Source Control
Template Engines
Testing Tools
Text Processing
UML & Modeling
Web Frameworks
Web Mail
Web Servers
Web Services
Web Testing
Wiki Engines
XML Parsers
XML UI Toolkits

Open Source Web Servers in Java

Jakarta Tomcat

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

Caucho Resin

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

Fizmez Web Server

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

Miniature Java Web Server

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.



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


firecat is a Server-Side JavaScript Webserver. With firecat you can build complete Web Applications using JavaScript on both the Client-Side(AJAX) and the Server-Side(NSP). It is similar to ASP and JSP, but instead of VBScript and Java, it uses JavaScript as the main scripting language. firecat is written in Java and can run on any Java Virtual Machine, but the main target will be to support Free Java Runtimes such as SableVM, JamVM, Kaffe, GCJ/GIJ and Apache Harmony. Firecat is geared towards Webmasters, Web Designers and Web Developers, who want to leverage their JavaScript skills on the server-side. Building webpages should be simple. Any Internet User should be able to create webpages with server-side functionality, without being forced to learn complicated programming languages.

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

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


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

kangaroo-egg webserver

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. Features: * NIO (Non-Blocking IO) * Asynchronous Reply * Chunked Transfer * Session Timeout * Hot-Deployment * Filter Chain

Go To Rupy

Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. This site is independent of Sun Microsystems, Inc.