What is OOWeb?
OOWeb is a lightweight, embedded HTTP server for Java applications that maps objects to URL directories, methods to pages and form/querystring arguments as method parameters.
This allows for unparalleled ease in creating, deploying and testing web applications and most importantly, it's fun to use! You can get a working (albeit very basic) web server up and serving dynamic content with just 5 lines of code and no configuration.
OOWeb was originally inspired by CherryPy
Features
- GET/POST (inc. file uploads)
- Session support
- Cookie support
- Static content and optional directory indeces
- Replicated sessions to transparently distribute user sessions to all OOWeb instances on a network. Requires zero configuration.
- Security with either HTTP BASIC or forms based authentication.
- JDK 5 Annotations based to reduce configuration
- Incredibly lightweight (v0.8 is < 150KB in size, including dependencies
- Quick to learn - get a basic dynamic website running from scratch in 10 minutes.. including the download. No kidding
What is OOWeb not?
OOWeb is not a full featured, performant HTTP server. It's HTTP stack is highly capable, but if you need extreme performance, consider Apache or even Squid.
It is also not a full featured, managed environment implementing complex API's and requiring a million lines of XML config to get it to do something. If you want one of those, there are plenty of good ones around to choose from
Security
OOWeb is written in Java, making it immune to various C-style buffer overflow attacks. At the current time, no exploits or vulnerabilities are known of for OOWeb. However, if you write code to delete everything on your hard drive and then expose that method to the Internet via OOWeb, don't come complaining to us when the inevitable happens. Bottom line: you're responsible for the code you allow some unknown oik to execute on your machine.