Thursday 6 September 2018

Architecture of JSP


A JSP life cycle can be defined as the entire process from its creation till the destruction which is similar to a servlet life cycle with an additional step which is required to compile a JSP into servlet.
JSP follows below steps in its life-cycle-
  • Compilation
  • Initialization
  • Execution
  • Cleanup
The four major phases of JSP life cycle are very similar to Servlet Life Cycle.

Compilation

When a browser asks for a JSP, the JSP engine first checks to see whether it needs to compile the page. If the page has never been compiled, or if the JSP has been modified since it was last compiled, the JSP engine compiles the page.
Compilation process consists of below three steps:-
  • Parsing the JSP.
  • Converting the JSP into a servlet.
  • Compiling the servlet.

Initialization:

When a container loads a JSP it invokes the jspInit() method before servicing any requests. If you need to perform any custom application specific initialization, then you need to override the jspInit() method.
public void jspInit(){
// Your code here
}
Typically initialization is performed only once and as with the servlet init method. Generally you may like to initialize database connections, open files, and create lookup tables in the jspInit method.

Execution

This phase of the JSP life cycle represents all interactions with requests until the JSP is destroyed.
Whenever a browser requests a JSP and the page has been loaded and initialized, the JSP engine invokes the _jspService() method in the JSP.
The _jspService() method takes an HttpServletRequest and anHttpServletResponse as its parameters as follows:
void _jspService(HttpServletRequest request, HttpServletResponse response) {
// your code
}
In life cycle of JSP, _jspService() method gets invoked once per a request and is responsible for generating the response for that request and this method is also responsible for generating responses to all HTTP methods ie. GET, POST etc.

Cleanup

The destruction phase of the JSP life cycle is when a JSP is being removed from use by a container. The jspDestroy() method is the JSP equivalent of the destroy method for servlets. Override jspDestroy when you need to perform any cleanup, such as releasing database connections or closing open files.
The jspDestroy() method has the following form:
public void jspDestroy() {
// Your cleanup code goes here
}
Enjoy Learning.

No comments:

Post a Comment