Permalink
Browse files

Merge pull request #1 from dpritchett/master

added a markdown README, put recursive links from github to no.de and back
  • Loading branch information...
2 parents 4ad670c + 88e72bf commit b9ec11b20a39b7afa920fd40a983f68f3bea3ee6 @dpritchett dpritchett committed May 9, 2011
Showing with 83 additions and 97 deletions.
  1. +0 −52 README
  2. +37 −0 README.md
  3. +46 −45 websites/defaulthost/webapps/default/index.nsp
View
@@ -1,52 +0,0 @@
-===============================================================================
-WHAT - A Node.JS Web Application Server
-===============================================================================
-Author : Mike Howles - entmike@gmail.com
-
-Work in progress Web Container / Application Server written against Java
-specifications and interface of HttpServlets, etc but in JavaScript.
-
-This project began as my first attempt to write *anything* in NodeJS. I
-shortly fell down the rabbit hole of toying with it and what began as a simple
-static file server proof-of-concept has now become a Web Application container.
-
-=========
-Features:
-=========
-
- - Configuration files loosely based on Tomcat, but in JSON, not XML.
- - Multiple hostname support
- - Sessions
- - Cookies
- - Servlets (using shorthand/lazy JSON notation, see examples)
- - Servlet Contexts (AKA Web Apps)
- - Static file/MIME serving using a default file handler servlet
- - gzip support
- - Proper cache response from request headers
- - Exception trapping for helpful 500 Server Error pages (most of the time)
- - Sample Manager Application, a kind of "Eat your own Dogfood" example application.
- - .JSP-like pages, but named as .NSP (NodeJS Server Pages)
- - (Very Poor, but existant) MongoDB support (no need to compile a lib!)
-
-===================================
-Bugs/Things-I-Don't-Like/TODO List:
-===================================
-
- - DOCUMENTATION/EXAMPLES! Nobody will even read this without some turn-key examples.
-
- - 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...
-
- - 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!
-
- - 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.
View
@@ -0,0 +1,37 @@
+WHAT - A Node.JS Web Application Server
+===============================================================================
+**Author**: Mike Howles ([email](mailto:entmike@gmail.com))
+
+Work in progress Web Container / Application Server written against [Java
+specifications and interface of HttpServlets](http://tomcat.apache.org/tomcat-5.5-doc/servletapi/index.html), etc but in JavaScript.
+
+This project began as my first attempt to write *anything* in NodeJS. I
+shortly fell down the rabbit hole of toying with it and what began as a simple
+static file server proof-of-concept has now become a [Web Application container](http://en.wikipedia.org/wiki/Web_container).
+
+Live Demo
+------------
+[Try this live servlet demo at no.de provided by Joyent](http://entmike.no.de/).
+
+Features
+=========
+* Configuration files loosely based on Tomcat, but in JSON, not XML.
+* Multiple hostname support
+* Sessions
+* Cookies
+* Servlets (using shorthand/lazy JSON notation, see examples)
+* Servlet Contexts (AKA Web Apps)
+* Static file/MIME serving using a default file handler servlet
+* gzip support
+* Proper cache response from request headers
+* Exception trapping for helpful 500 Server Error pages (most of the time)
+* Sample Manager Application, a kind of "Eat your own Dogfood" example application.
+* .JSP-like pages, but named as .NSP (NodeJS Server Pages)
+* (Very Poor, but existant) MongoDB support (no need to compile a lib!)
+
+Bugs/Things-I-Don\'t-Like/TODO List:
+===================================
+* DOCUMENTATION/EXAMPLES! Nobody will even read this without some turn-key examples.
+* 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...
+* 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!
+* 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.
@@ -1,47 +1,48 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
- <head>
- <title>Welcome!!!</title>
- <style type="text/css">
- body {
- font-family: Arial, Tahoma, Verdana;
- font-size: 8pt;
- background-color: #EFEFEF;
- }
- h1 {
- font-size: 14pt;
- color: #006699;
- }
- a, a:visited {
- color : #009966;
- text-decoration : none;
- }
- a:hover {
- text-decoration : underline;
- }
- </style>
- <script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', 'UA-19845178-2']);
- _gaq.push(['_setDomainName', '.omgwtflol.com']);
- _gaq.push(['_trackPageview']);
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
- </script>
- </head>
- <body>
- <h1>Welcome</h1>
- <p>If you are reading this message, your webcontainer on Node.JS is working properly.</p>
- <h1>Example URIs:</h1>
- <ul>
- <li><a href="/">Home (HINT: You are here)</a></li>
- <li><a href="/Manager/">Web Container Manager</a></li>
- <li><a href="/nspExample.nsp">Demo Page illustrating Session Information and server-side scripting in HTML.</a></li>
- </ul>
- <h1>What Overview:</h1>
- <img src="WhatDiagram.png"/>
- </body>
-</html>
+ <head>
+ <title>Welcome!!!</title>
+ <style type="text/css">
+ body {
+ font-family: Arial, Tahoma, Verdana;
+ font-size: 8pt;
+ background-color: #EFEFEF;
+ }
+ h1 {
+ font-size: 14pt;
+ color: #006699;
+ }
+ a, a:visited {
+ color : #009966;
+ text-decoration : none;
+ }
+ a:hover {
+ text-decoration : underline;
+ }
+ </style>
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-19845178-2']);
+ _gaq.push(['_setDomainName', '.omgwtflol.com']);
+ _gaq.push(['_trackPageview']);
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+ </script>
+ </head>
+ <body>
+ <h1>Welcome</h1>
+ <p>If you are reading this message, your webcontainer on Node.JS is working properly.</p>
+ <p><strong>What</strong> is a "work in progress Web Container / Application Server written against Java specifications and interface of HttpServlets, etc but in JavaScript." See the source for this demo site at <a href="https://github.com/entmike/What">github.com/entmike/What</a>.</p>
+ <h1>Example URIs:</h1>
+ <ul>
+ <li><a href="/">Home (HINT: You are here)</a></li>
+ <li><a href="/Manager/">Web Container Manager</a></li>
+ <li><a href="/nspExample.nsp">Demo Page illustrating Session Information and server-side scripting in HTML.</a></li>
+ </ul>
+ <h1>What Overview:</h1>
+ <img src="WhatDiagram.png"/>
+ </body>
+ </html>

0 comments on commit b9ec11b

Please sign in to comment.