A Java Server Page life cycle is defined as the process started with its creation which later translated to a servlet and afterward servlet lifecycle comes into play. This is how the process goes on until its destruction.
Following steps are involved in JSP life cycle:
- Translation of JSP page to Servlet
- Compilation of JSP page(Compilation of JSP into test.java)
- Classloading (test.java to test.class)
- Instantiation(Object of the generated Servlet is created)
- Initialization(jspInit() method is invoked by the container)
- Request processing(_jspService()is invoked by the container)
- JSP Cleanup (jspDestroy() method is invoked by the container)
We can override jspInit(), jspDestroy() but we can’t override _jspService() method.
Translation of JSP page to Servlet :
This is the first step of JSP life cycle. This translation phase deals with Syntactic correctness of JSP. Here test.jsp file is transllated to test.java.
Compilation of JSP page :
Here the generated java servlet file (test.java) is compiled to a class file (test.class).
Servlet class which has been loaded from JSP source is now loaded into container.
Here instance of the class is generated. The container manages one or more instance by providing response to requests.
jspInit() method is called only once during the life cycle immediately after the generation of Servlet instance from JSP.
Request processing :
_jspService() method is used to serve the raised requests by JSP.It takes request and response object as parameters.This method cannot be overridden.
JSP Cleanup :
In order to remove the JSP from use by the container or to destroy method for servlets jspDestroy()method is used. This method is called once, if you need to perform any cleanup task like closing open files, releasing database connections jspDestroy() can be overridden.
- Life Cycle of a Servlet
- Difference between ServletConfig and ServletContext in Java Servlet
- Print characters and their frequencies in order of occurrence using a LinkedHashMap in Java
- What is Slipped Condition in Multi-threading?
- What are the main differences between the Java platform and other platforms?
- Difference between YAML(.yml) and .properties file in Java SpringBoot
- Java program to check whether a string is a Palindrome
- Difference between Groovy and Java
- Count of words ending at the given suffix in Java
- Optional empty() method in Java with examples
- Locale.Category values() method in Java with Examples
- Locale.Builder setRegion() method in Java with Examples
- Optional orElseGet() method in Java with examples
- DecimalFormatSymbols getInfinity() method in Java with Examples
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.