JSP: n sivu muutetaan Servletiksi palvelupyyntöjä varten. JSP-sivun kääntämistä Servletiksi kutsutaan JSP: n elinkaareksi. JSP: n elinkaari on täsmälleen sama kuin Servletin elinkaari, ja siinä on yksi ensimmäinen lisäaskel, joka on JSP-koodin kääntäminen Servlet-koodiksi. Seuraavassa on JSP: n elinkaaren vaiheet:
- käännös JSP: stä Servlet-koodiksi.
- kokoelma Servletistä bytecode.
- Kuormauspalveluluokka.
- luodaan servlet-instanssi.
- alustus kutsumalla
jspInit()
menetelmä - pyynnön käsittely kutsumalla
_jspService()
menetelmä - tuhoaminen kutsumalla
jspDestroy()
menetelmä
Web Container muuntaa JSP-koodin servlet-luokan lähteeksi(.java) tiedosto, sitten compiles että osaksi java servlet Luokka. Kolmannessa vaiheessa servlet class bytecode Ladataan classloader-ohjelmalla. Kontti luo sitten kyseisen servlet-luokan esiintymän.
alustettu servlet voi nyt pyytää palvelua. Kunkin pyynnön Web Container soita _jspService () menetelmä. Kun säiliö poistaa servlet-instanssin palvelusta, se kutsuu jspdestroy () – menetelmää kaikkien tarvittavien puhdistusten suorittamiseksi.
mitä JSP: lle tapahtuu, kun se käännetään Servletiksi
katsotaan, mitä JSP-koodille oikeasti tapahtuu, kun se käännetään Servletiksi.
: n sisälle kirjoitettu koodi on JSP-koodi.
<html> <head> <title>My First JSP Page</title> </head> <% int count = 0; %> <body> Page Count is: <% out.println(++count); %> </body></html>
yllä JSP: n sivu (hello.jsp) becomes this Servlet,
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>"); }}
tämä on vain selittää, mitä tapahtuu sisäisesti. Koska JSP Kehittäjä, sinun ei tarvitse huolehtia siitä, miten JSP sivu muunnetaan Servlet, koska se tapahtuu automaattisesti web container.