Why another Java HTTPD?
I couldn't find a small enough, embeddable and easily modifiable HTTP server that I could just copy and paste into my other Java projects. Every one of them consisted of dozens of .java files and/or jars, usually with - from my point of view - "overkill features" like servlet support, web administration, configuration files, logging etc.
So I made my own. Take it, hopefully you'll find it useful, too.
- Only one Java file
- Java 1.1 compatible
- Released as open source, Modified BSD licence
- No fixed config files, logging, authorization etc. (Implement by yourself if you need them.)
- Supports parameter parsing of GET and POST methods
- Supports both dynamic content and file serving
- Never caches anything
- Doesn't limit bandwidth, request time or simultaneous connections
- Default code serves files and shows all HTTP parameters and headers
- File server supports directory listing, index.html and index.htm
- File server does the 301 redirection trick for directories without /
- File server supports simple skipping for files (continue download)
- File server uses current directory as a web root
- File server serves also very long files without memory overhead
- Contains a built-in list of most common mime types
- All header names are converted lowercase so they don't vary between browsers/clients
See Other Best Ftp, Http, Email & Other Network Servers Projects in Java: