Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 38 lines (32 sloc) 2.611 kB
9013db0 @dpritchett added Markdown readme
dpritchett authored
1 WHAT - A Node.JS Web Application Server
2 ===============================================================================
5312c1f @dpritchett Improved Readme
dpritchett authored
3 **Author**: Mike Howles ([email](mailto:entmike@gmail.com))
9013db0 @dpritchett added Markdown readme
dpritchett authored
4
5 Work in progress Web Container / Application Server written against [Java
6 specifications and interface of HttpServlets](http://tomcat.apache.org/tomcat-5.5-doc/servletapi/index.html), etc but in JavaScript.
7
8 This project began as my first attempt to write *anything* in NodeJS. I
9 shortly fell down the rabbit hole of toying with it and what began as a simple
47ae713 @dpritchett added link back from sample app to github
dpritchett authored
10 static file server proof-of-concept has now become a [Web Application container](http://en.wikipedia.org/wiki/Web_container).
9013db0 @dpritchett added Markdown readme
dpritchett authored
11
5312c1f @dpritchett Improved Readme
dpritchett authored
12 Live Demo
13 ------------
47ae713 @dpritchett added link back from sample app to github
dpritchett authored
14 [Try this live servlet demo at no.de provided by Joyent](http://entmike.no.de/).
5312c1f @dpritchett Improved Readme
dpritchett authored
15
9013db0 @dpritchett added Markdown readme
dpritchett authored
16 Features
17 =========
18 * Configuration files loosely based on Tomcat, but in JSON, not XML.
19 * Multiple hostname support
20 * Sessions
21 * Cookies
22 * Servlets (using shorthand/lazy JSON notation, see examples)
23 * Servlet Contexts (AKA Web Apps)
24 * Static file/MIME serving using a default file handler servlet
25 * gzip support
26 * Proper cache response from request headers
27 * Exception trapping for helpful 500 Server Error pages (most of the time)
28 * Sample Manager Application, a kind of "Eat your own Dogfood" example application.
29 * .JSP-like pages, but named as .NSP (NodeJS Server Pages)
30 * (Very Poor, but existant) MongoDB support (no need to compile a lib!)
31
32 Bugs/Things-I-Don\'t-Like/TODO List:
33 ===================================
34 * DOCUMENTATION/EXAMPLES! Nobody will even read this without some turn-key examples.
35 * Struggling with a way to make this multi-threaded. I\'m not sure how to use a methodology/plugin such as multi-node to make this work with what I now have. A "bad servlet" can still bring down the whole server. (e.g. while(true); or some other infinite loop). I\'d rather delegate the grunt work or each handling servlet to a workerprocess but how do I share Servlet Context between these child processes? I\'m all ears...
36 * My implementation has lots of stub/missing code for the Java Interfaces for the various things like HttpServlet, HttpSession, HttpRequest, HttpResponse, ServletContext, ServletConfig, RequestDispatcher, and Cookie. They are coded enough to do what I\'ve needed them to, but would like to eventually flesh it out as much as is feasible, so that a potential Java Servlet developer would feel a little more at home with the API. One can dream!
37 * Better exception handling. Can never have enough! I\'ve got error trapping in most places but the project is still very young and much more work to do.
Something went wrong with that request. Please try again.