strona JSP jest konwertowana na Servlet w celu obsługi żądań. Tłumaczenie strony JSP na serwlet nazywa się cyklem życia JSP. Cykl życia JSP jest dokładnie taki sam jak cykl życia Servleta, z jednym dodatkowym pierwszym krokiem, czyli tłumaczeniem kodu JSP na kod Servleta. Poniżej przedstawiono etapy cyklu życia JSP:
- tłumaczenie kodu JSP na Servlet.
- Kompilacja serwletu na bajt.
- Ładowanie klasy Servlet.
- Tworzenie instancji servleta.
- Inicjalizacja przez wywołanie
jspInit()
metody - przetwarzanie żądania przez wywołanie
_jspService()
metody - niszczenie przez wywołanie
jspDestroy()
metody
kontener webowy tłumaczy kod JSP na źródło klasy servlet(.java) plik, a następnie kompiluje go do klasy java servlet. W trzecim kroku, serwlet klasy bytecode jest ładowany za pomocą classloader. Kontener tworzy instancję tej klasy servlet.
zainicjowany servlet może teraz zażądać usługi. Dla każdego żądania Web Container wywołuje metodę _jspService (). Kiedy kontener usuwa instancję servleta z service, wywołuje metodę jspDestroy (), aby wykonać wymagane czyszczenie.
co dzieje się z JSP, gdy jest on tłumaczony na Servlet
zobaczmy, co naprawdę dzieje się z kodem JSP, gdy jest tłumaczony na Servlet. Kod zapisany wewnątrz
to kod JSP.
<html> <head> <title>My First JSP Page</title> </head> <% int count = 0; %> <body> Page Count is: <% out.println(++count); %> </body></html>
powyższa strona JSP(Witam.jsp) staje się tym Serwletem,
public class hello_jsp extends HttpServlet{ public void _jspService(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { PrintWriter out = response.getWriter(); response.setContenType("text/html"); out.write("<html><body>"); int count=0; out.write("Page count is:"); out.print(++count); out.write("</body></html>"); }}
to jest tylko wyjaśnienie, co dzieje się wewnętrznie. Jako programista JSP nie musisz się martwić o to, jak strona JSP jest konwertowana na serwlet, ponieważ odbywa się to automatycznie przez kontener internetowy.