1. A computer-based method for servicing JavaServer Pages (JSPs), comprising: receiving a request for a JSP page with JSP source code; processing the JSP page without generating a .java code file, including: parsing the JSP source code for the JSP page, creating a tree of parsed JSP source code at runtime by mapping each portion of the parsed JSP source code to a corresponding node of the tree using a tree class definition, persisting the tree in a memory, and instantiating a generic servlet; executing the tree in the memory at runtime, using the generic servlet, including: traversing the nodes of the tree, and executing the portion of the parsed JSP source code mapped to each node of the tree; returning the requested JSP page; and in response to receiving a subsequent request for the JSP page, executing the tree in the memory at runtime without processing the JSP page.
1. A computer-based method for servicing JavaServer Pages (JSPs), comprising: receiving a request for a JSP page with JSP source code; processing the JSP page without generating a .java code file, including: parsing the JSP source code for the JSP page, creating a tree of parsed JSP source code at runtime by mapping each portion of the parsed JSP source code to a corresponding node of the tree using a tree class definition, persisting the tree in a memory, and instantiating a generic servlet; executing the tree in the memory at runtime, using the generic servlet, including: traversing the nodes of the tree, and executing the portion of the parsed JSP source code mapped to each node of the tree; returning the requested JSP page; and in response to receiving a subsequent request for the JSP page, executing the tree in the memory at runtime without processing the JSP page. 2. The method of claim 1 , further comprising determining whether the JSP page needs processing, and, if so determined, processing the JSP page without generating Java code.