Sissejuhatus JSP elutsüklisse
Selles artiklis käsitleme JSP elutsüklit. Java serverilehed - serveripoolne tehnoloogia, mis võtab vastutuse serveris töötlemise eest.
1. Kus me vajame JSP-d?
- Noh, kui olete tegelenud veebipõhise arendamisega ja see, mida me näeme, on dünaamiliste veebisaitide loomine, mängivad JSP-d üliolulist rolli, kuna renderdamine toimub dünaamiliselt.
- JSP-d töötavad ainult HTML-i aluseks, lehe põhiosa koosneb ainult HTML-i põhimärgistest, kuid on olemas teatud kohahoidjad, parameetrid, loendiväärtused, iteraatorid, mis on teostatavad ainult JSP-dega, HTML pakub staatilist kuvamist ainult siis, kui on vaja teha mis tahes resolutsioone. käitamisajal vajab dünaamilist käitlemist, nii et JSP-d ilmuvad seal lahendusena.
- JSP võimaldab eraldada sisu genereerimist ja sisu esitlemist
Võtame siin põhinäite, mis annab teile idee sellest dünaamilisest renderdamisest.
Sisemine sisu või loogika muudetakse dünaamiliselt ja seda edastatakse ainult tagapõhjaga.
Liigume nüüd edasi ja mõistame JSP-de elutsüklit ning seda, kuidas neid reaalajas pakutakse, et pakkuda kliendile muutuvat või valmis kogemust.
2. JSP elutsükkel:
Selles tsüklis jagunevad teatud etapid, mis on määratletud järgmiselt -
- Tõlkefaas - kus JSP fail teisendatakse servleti failiks.
- Kompileerimisetapp - kus servleti fail konverteeritakse servleti klassiks.
- Klasside laadimine
- Servleti objekti intsideerimine
- Servleti konteiner kutsub initsialiseerimiseks kasutama meetodit jspInit ()
- Servleti konteiner kutsub taotluse töötlemiseks _jspService ()
- JSP puhastamine, siin kutsub servleti konteiner jspDestroy () meetodit.
Nüüd saate ülalnimetatud toiminguid selgema pildi saamiseks välja töötada -
Samm 1
Tõlkefaasis tõlgib servleti konteiner JSP servletiks, nii et sildipõhine kodeerimine saab javas samaväärse vormi, nii et Java virtuaalmasin (JVM) saab sellest aru (kuna see ei mõista siltide keelt) . Tõlke teeb server kas veebirakenduse juurutamise ajal või siis, kui JSP saab oma esimese täitmistaotluse.
2. samm
Nüüd saabub aeg lähtekoodi kompileerimiseks, st servleti koodi teisendamiseks java baidikoodiks (java baidikood on java virtuaalmasina käskude komplekt).
3. samm
JSP allikast laaditud servleti klass laaditakse nüüd konteinerisse.
4. samm
Pärast klassifaili laadimist veebimahuti abil kasutab JSP konteiner servleti klassi eksemplari loomiseks argumentideta konstruktorit. Kui konteiner lähtestab objektid, kasutades selleks meetodit jsplnit ().
Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)
5. samm
Nüüd saabub aeg päringute töötlemiseks, siin kasutatakse kliendipäringute töötlemiseks initsialiseeritud JSP samaväärseid servleti objekte. Veebimahuti kutsub esile _jspService () meetodi. See kutsumine toimub üks servleti objekt, mis läbib objekti HTTPServletRequest ja objekti HTTPServletResponse vastavate taotluste ja vastuste jaoks. Pange tähele, et _jspService () meetodi alistamiseks pole ühtegi sätet.
Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)
6. samm
Viimast etappi nimetatakse JSP puhastamiseks, konteiner tuleb JSP kasutusest kõrvaldada ja sama jaoks kasutatakse meetodit jspDestroy (), sellele meetodile saab tugineda ainult üks kord. Selle meetodi alistamiseks on säte, mida saab teha juhtudel, kui soovime teha oma kohandatud toiminguid, näiteks ühenduse andmebaasi vabastamine jne.
public void jspDestory()
(
// snippet is placed here
)
Näide:
Loome oma näidisrakenduse jaoks sisselogimisvormi ja teatud sisu renderdamiseks kasutame siin JSP-d.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
My Login Form
<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>
UserName
Password
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" | <%@ page language="java" contentType="text/html; charset=ISO-8859-1" |
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
My Login Form
<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>
UserName
Password
Ülaltoodud näites muudetakse sees asetatud kood dünaamiliselt, nagu me juba ka mainisime. Nüüd, kui see taotlus on esitatud, võtab selle vastu operatsiooni kontroller, mis on põhimõtteliselt Java klass, mis sisaldab parameetreid, mis vastavad JSP fail.
Servleti konteiner loob modaalse objekti ja sisu saab sellele konkreetsele kontrollerile viidates teistes JSP-des näidata.
Selline MVC-põhine lähenemine leiab tänapäeval koha selliste tehnoloogiatega nagu -
- Kevadine MVC
- Tugid 2
- Servletid
Kevadised MVC ja Struts 2 tutvustasid oma spetsiifilist URI-d, et kasutada JSP-sid kohandatud viisil, ning tutvustavad ka erinevaid siltide variante, näiteks automaatne täitmine, iteraator, loend jne.
Nii leiab JSP nende paindlikkuse tõttu ideaalse koha paljudes raamistikes.
Järeldus
- Siit saime teada, et dünaamiliste veebisaitide esikülg pakutakse JSP-de kaudu, samas kui staatilisi lehti saab otse HTML-i panna, kuna nad ei vaja nüüdsest andmeid / sisuga manipuleerimist.
- Kaasaegsed tehnoloogiad ühilduvad JSP-dega ja neid kasutavad tugipostid ja vedrud nagu raamistikud, mis leiavad koha suurtes panganduse, SCM-i, jaekaupluste jms seotud rakendustes.
- Ühildub AJAX-iga nõuab dünaamilist renderdamist.
- Rakendus ei saa olla üheleheline, kuna iga kord, kui leht tuleb laadida taustaprogrammist, tuleb see laadida.
- Plaate saab kasutada tugipostide ja kevade aluspaigutusvormingute jaoks ning see, mida peame ikka ja jälle renderdama, on vaid korpus.
- Lõppkokkuvõttes konverteeritakse koodid HTML-i ekvivalendiks esiosas.
- JSP-d eristavad sisu esitlemise ja sisu genereerimise kontseptsioone.
- Lülitajaid pakuvad erinevad raamistikud, mis muudavad arendajate elu lihtsaks, näiteks failide üleslaadimisprotsesside jaoks on ette nähtud tugijaamade utiliidid.
Soovitatavad artiklid
See on olnud JSP elutsükli juhend. Siin arutasime JSP elutsükli sissejuhatust, samme ja näidet. Lisateavet leiate ka meie muudest soovitatud artiklitest -
- JSP vs ASP
- AJAX-i intervjuu küsimused
- Mis on MVC?
- JSP vs Servlet
- Iteraatorid C # -s