Sisukord
- Mis on JavaServer Pages?
- Kuidas seadistada JSP keskkonda?
- Kuidas on JSP arhitektuur?
- JSP elutsükkel
- Süntaksid JSP-s
- JSP toimingud
- JSP direktiivid
- JSP kaudsed objektid
- JSP kliendi taotlus
- JSP serveri vastus
- HTTP olekukood JSP-s
- Vormi töötlemine JSP-s
- Küpsiste käsitlemine
- Järeldus
- Soovitatavad artiklid
Mis on JavaServer Pages?
The JavaServer Pages (JSP) , serveripoolne tehnoloogia, aitab arendajatel arendada veebilehti, mis kasutavad HTML , XML , SEEP jne. Seda nimetatakse ka kui Jakarta serveri lehed . JSP-s saavad arendajad Java-koodi manustada HTML keel. JSP-s on ainulaadsed sildid, mis võimaldavad kasutada Java kood HTML-is. Need sildid algavad ja lõpevad tähega '<%’ ja '%>' vastavalt sümbolid. JSP-de käitamiseks vajate servleti konteinerit sisaldavat veebiserverit. Näiteks võite kasutada Apache Tomcat või Jetty .
JSP on modelleeritud Java servletid . Java servlet nimetatakse ka Jakarta Servletiks. Käitusaja jooksul muudetakse JSP-d servlettideks; seetõttu nimetatakse neid servlettideks. Üldiselt kirjutatakse JSP-d tekstifailidesse ja sisaldavad HTML- või XHTML-koodi, JSP-toiminguid, XML-elemente ja JSP-käske. JSP-d mängivad Java veebirakendustes kasutajaliidestena. Kõik JSP kaudsed objektid, nagu päring, seanss, konfiguratsioon, välja, vastus, rakendus, leht ja lehekontekst, on loodud veebikonteiner .
Võib-olla olete kohanud veebilehtede vorme. Nende vormide eesmärk on koguda andmeid erinevatelt kasutajatelt. Nendes veebilehevormides kasutatakse JSP-d kasutajatelt andmete võtmiseks sisendiks, korraldab need andmed andmebaasi kujul ja genereerib veebilehti. JSP peamine eesmärk on esitada XML- ja HTML-dokumenditüüpe. Kuid see võib esitada dokumente ka muudes vormingutes, nagu ta kasutab OutputStream . JSP faililaiend on .jsp, .jspx, jspf ja Interneti-meedia tüüp on rakendus/jsp.
Saate teisendada mis tahes HTML-faili JSP-failiks, muutes faililaiendit .html juurde .jsp . Pärast laienduse muutmist kasutage HTML-lehtedele Java-koodi lisamiseks JSP-märgendeid. Kasutades JPS-i, arendajad saavad luua dünaamilist veebi leheküljed ja platvormist sõltumatud veebilehed. Vaatame mõnda JSP olulist funktsiooni.
Vaadake meie Inimarvuti liidese juhend mis oleks hea algajatele.
JSP funktsioonid
JSP on üks mugavamaid viise dünaamilise veebisisu loomiseks. On mitmeid põhjuseid, miks arendajad valivad mitme rakenduse loomiseks JSP. Siin on mõned Jakarta serverilehtede valitud funktsioonid.
- JSP-s on tegevus- ja kohandatud sildid. Seetõttu on JSP koodi pikkus väike.
- Koodi kirjutamine JSP-s on lihtne, kuna see manustab Java programmeerimiskeele HTML- või XML-lehtedele.
- JSP võimaldab arendajatel koguda andmeid ja panna need andmebaasi või lugeda või kirjutada andmeid andmebaasi.
- See serveripoolne tehnoloogia on väga paindlik, kaasaskantav ja vastupidav, kuna see ei sõltu ühestki brauserist ega serverist.
- JSP-koodi pole vaja ikka ja jälle kompileerida. See on platvormist sõltumatu ja seda saab kasutada mis tahes konsoolil ilma uuesti kompileerimata.
- JSP sisaldab kaudseid objekte, servlette ja kohandatud silte. Seetõttu loovad arendajad interaktiivseid ja reaalajas veebilehti.
- JSP-programmidesse saame manustada ka teisi skriptikeeli, nagu JavaScript, Perl, VBScript jne. Vaikimisi on JSP skriptikeel Java.
Miks kasutada Java Server Pages?
JSP-de kasutamisel on mitmeid eeliseid. Nad toimivad sarnaselt Common Gateway Interface (CGI) . Veebiserverid käivitavad kõik programmid, mis genereerivad dünaamilisi veebilehti ühisel lüüsi liidesel. Kui võrrelda JSP-d CGI-ga, on JSP tugevam ja pakub arendajatele rohkem eeliseid. Siin on mõned põhjused, mis aitavad mõista, kuidas JSP on CGI-st soodsam.
- Arendajad saavad JSP-ga HTML-i lisada dünaamilisi elemente. Kui nad kasutavad CGI-d, peavad nad looma dünaamiliste elementide jaoks eraldi CGI-faili.
- JSP-d kompileeritakse ja hiljem käivitatakse mis tahes platvormil. Teisest küljest laadib CGI tõlgi ja tõlgendab koodi alati, kui veebilehte taotlete.
- Äriloogika jälgimiseks saate koos kasutada JSP-d ja servlette. Java servleti mallimootorid toetavad seda JSP ja servleti kombineeritud mudelit.
- JSP on Java servlettide kõrgetasemeline abstraktsioon. Need lehed luuakse Java servleti liidese tipptasemel. Seega pääsevad nad juurde kõikidele peamistele Java liidestele, nagu JAXP, JDBC, JNDI jne.
- MVC arhitektuuris kasutatakse JSP-d selle vaatekihina.
- Kõik ettevõtte tasemel rakendused käivitatakse platvormil, mida nimetatakse Java EE-ks. Java EE platvorm sisaldab JSP-d.
JSP eelised
JSP on tõhusam ja vastupidavam kui teised tehnoloogiad, nagu JavaScript, staatiline HTML, puhtad servletid jne. Siin näeme, kuidas JSP on teiste tehnoloogiate ees parem.
- Üks JSP kõige soovitavamaid eeliseid on see, et see kasutab Java programmeerimiskeelt oma dünaamilise osa kirjutamiseks. See ei kasuta koodi kirjutamiseks Visual Basicut. Teiseks ühildub see teistega tegutsevad süsteemid.
- JSP-de abil manustame Java koodi HTML-lehtedele. Seetõttu on HTML-i muutmine lihtne.
- See otsib andmeid veebivormidest ja ühendab need andmebaasiga.
- Veebirakenduses eraldab JSP äriloogikakihi esitluskihist.
- JSP kasutab Java programmeerimiskeelt. Seega toetab see ka Java mitmelõimelise kontseptsiooni.
Enne kui jätkame JSP õpetusega, juhendame teid JSP keskkonna seadistamisel. Lisaks vajate üksikasjalikke teadmisi Java programmeerimise kohta. Andke meile nüüd teada, kuidas oma töölaual JSP-keskkonda seadistada.
Kuidas seadistada JSP keskkonda?
Miks on vaja JSP keskkonda seadistada? Kas töölaual on vaja JSP keskkonda parandada? Kui soovite luua dünaamilist veebisisu või veebirakendusi JSP abil, peate seadistama JSP keskkonna. See keskkond võimaldab arendajatel kirjutada JSP-programme, neid kompileerida ja käivitada mis tahes platvormil. Selgitame JSP keskkonna seadistamist järgmiste sammudega:
Java arenduskomplekti seadistamine
Esimene samm on parandada Java arenduskomplekt (JDK) teie töölaual. Java arenduskomplekt on vajalik, kuna manustame Java-koodi JSP abil HTML-koodi. Seetõttu nõuab JSP keskkond esmalt JDK keskkonna parandamist.
Esiteks peate Oracle'i ametlikult alla laadima Java Software Development Kit (SDK). veebisait
Pärast allalaadimist avage .exe-fail ning installige ja konfigureerige see antud juhiste järgi. Hiljem peate määrama kaks keskkonnamuutujat, PATH ja JAVA_HOME . Peate määrama PATH muutuja töölaua asukoha järgi java st, java_install_dir/bin, ja JAVA_HOME muutuv vastavalt asukohale, kus see on javac st, java_install_dir .
Kui teil on Windowsi süsteem ja installite SDK-faili aadressil C:jdk1.5.0_20 asukohta, lisage see tee C:autoexec.bat faili.
|_+_|Kui olete installinud SDK-faili Windows NT, 2000 või XP süsteemi, saate seadistada teisiti PATH ja JAVA_HOME keskkonnamuutujad. Peate paremklõpsama Minu arvuti , valige Omadused , ick on Täpsemalt ja minge aadressile Keskkonnamuutujad . Siin peate määrama PATH asukohta java st, Cjdk1.5.0_20in . Pärast PATH muutmist klõpsake nuppu Okei nuppu.
Nüüd teame, kuidas määrata PATH ja JAVA_HOEM keskkonnamuutujad UNIX-süsteemidele, nagu Solaris, Linux jne. Oletame, et oleme installinud SDK-faili /usr/local/jdk1.5.0_20 . Peate lisama kaks allolevat käsku .cshrc faili. Oletame, et kasutame C-kest.
|_+_|Kui kasutate integreeritud arenduskeskkonna (IDE) tööriistu, nagu Eclipse, Sun ONE Studio, JBuilder jne, võtke Java-programmi näidis, kompileerige ja käivitage see, et kontrollida, kas teie IDE-tööriist teab, kuhu Java teie süsteemi installitakse.
Pärast Java arenduskomplekti installimist ning PATH ja JAVA_HOME keskkonnamuutujate seadistamist on järgmiseks sammuks veebiserveri seadistamine.
Tomcati veebiserveri seadistamine
Tänapäeval on saadaval mitu veebiserverit, mis toetavad dünaamiliste veebirakenduste arendamist JSP või Servletide kaudu. Kasutame Tomcati veebiserverit, mis on avatud lähtekoodiga ja tasuta kasutada. Tomcat on Apache Tomcati lühike nimi. Seda saavad kõik tasuta kasutada ja see ühildub mitme serveritehnoloogiaga, nagu JavaServer Pages, Servletid, WebSocket ja Java Expression Language. Tomcatis olev Java-kood käivitatakse seadmes puhas Java HTTP veebiserver.
Apache Tomcatis on mitu komponenti. Andke meile teada iga komponendi ja selle kasutamise kohta.
- Tomcati servleti konteiner on Katherine , mis kasutab Sun Microsystemi spetsifikatsioone JSP ja servlettide jaoks. Kasutajanimi, parool ja kasutajate rollid on elemendis Realm.
- Tomcati konnektori komponent on Koiott , mis ühildub HTTP 1.1 protokolliga.
- Tomcati JSP-mootor on Jaspis . See mootor analüüsib JSP-tekstifaili ja kompileerib selle Java-koodiks.
- Teine Tomcati komponent on Klaster , mis haldab suuri veebirakendusi.
Siin on juhised Apache Tomcati veebiserveri allalaadimiseks.
- Esiteks peate Apache Tomcati selle ametlikult alla laadima veebisait
Peate alla laadima Apache Tomcati uusima versiooni.
- Pärast tarkvara allalaadimist asetage allalaaditud fail kindlasse kohta. Näiteks kui installisite Tomcati Windowsi süsteemi, leidke allalaaditud fail C:apache-tomcat-5.5.29 . Linuxi või Unixi süsteemide puhul sisestage fail /usr/local/apache-tomcat-5.5.29 .
- Pärast faili asukoha leidmist looge CATALINA_HOME keskkonna muutuja. Määrake see muutuja tomcat-faili asukohaks, nagu eespool mainitud, st Windowsi süsteemide puhul määrake muutuja väärtuseks C:apache-tomcat-5.5.29 ja Linuxi süsteemide puhul määrake muutuja väärtuseks /usr/local/apache-tomcat-5.5.29 .
Apache Tomcati seadistamine on edukalt lõpule viidud. Kui olete installinud Tomcati Windowsi süsteemi, järgige Tomcati rakenduse käivitamiseks ühte kahest käsust.
|_+_|või
|_+_|Kui teie Tomcati rakendus on installitud Linuxi süsteemi, saate Tomcati rakenduse käivitamiseks sisestada mis tahes allolevatest käskudest.
|_+_|Või
|_+_|Kui olete Tomcati rakenduse edukalt avanud, külastage http://localhost:8080/ . Märkate kõiki Tomcatis olevaid vaikerakendusi. Saate konfigureerida ja käivitada Tomcati rakenduse, kasutades Tomcati ametlikul veebisaidil saadaolevat dokumentatsiooni.
Nüüd näeme käske Tomcati rakenduse sulgemiseks Windowsi ja Linuxi süsteemides. Tomcati rakenduse sulgemiseks Windowsi süsteemides on kaks käsku. Need on järgmised:
|_+_|Või
|_+_|Linuse süsteemide puhul saate Tomcati rakenduse sulgemiseks järgida mis tahes kahte käsku.
|_+_|Või
|_+_|CLASSPATHi seadistamine
Arutame, kuidas seadistada CLASSPATH Windowsi ja Linuxi süsteemide jaoks. Kui installisite Tomcati Windowsi süsteemi, järgige CLASSPATHi seadistamiseks allolevaid koodiridu.
|_+_|Kui teie Windowsi süsteemis on NT, 2000 või XP versioon, peate sellel paremklõpsama Minu arvuti , valige Omadused , kliki Täpsemalt ja minge aadressile Keskkonnamuutujad . Siin peate muutma CLASSPATH väärtust ja klõpsama nuppu Okei nuppu.
Kui olete installinud Tomcati Linuxi süsteemi, lisage .cshrc-faili järgmised kaks rida. Mõtle, et kasutame C-kest.
|_+_|Kuidas on JSP arhitektuur?
Oleme JSP jaoks seadistanud keskkonna. Oleme JSP-lehtede käitamiseks kasutanud Apache Tomcati. JSP-lehtede töötlemiseks on JSP-mootor, mida nimetatakse konteineriks. Apache Tomcatis on sisseehitatud JSP-mootor nimega Jaspis . Seetõttu saavad arendajad Jasperit kasutades luua JSP-lehti. Konteiner ja veebiserver töötavad koos, et pakkuda käituskeskkonda ehk JSP-d ja kõiki muid JSP-s nõutavaid teenuseid.

Ülaltoodud diagramm illustreerib JSP-konteinerit ja JSP-failide asukohta ja mis tahes veebirakendust. Nüüd selgitame JSP-d kasutades veebiserveri poolt dünaamilise veebilehe genereerimise protsessi.
- Esiteks saadab Windowsi, Linuxi või macOS-süsteemi klient või brauser HTTP-päringu veebiserverisse Interneti kaudu, nagu on näidatud ülaltoodud diagrammil.
- Veebiserveris on JSP-mootor, kuhu salvestatakse kõik JSP-failid. Kliendilt HTTP päringu saamisel tuvastab veebiserver, et päring on JSP lehe jaoks. Pärast seda edastab see selle päringu JSP-mootorile. Veebiserver edastab HTTP-päringu JSP-lehele jsp- või .html-laiendiga faili või URL-i kaudu.
- Nüüd võtab JSP vastu HTTP-päringu, mille klient saatis veebiserverisse. Teame, et HTTP-päring oli JSP-lehe kohta. Seetõttu laadib mootor selle konkreetse lehe kettalt ja muudab selle servleti sisuks. Teisisõnu muudetakse kogu malli tekst println()-lauseteks. Teisest küljest teisendab see teisendus ka kõik JSP-lehed Java-koodiks.
- Taotletud JSP-leht muudetakse servletiks. Seetõttu kompileerib JSP-mootor servleti käivitatavasse klassi. Hiljem saadab JSP-mootor servletimootorile kliendi HTTP-päringu.
- Nii servleti kui ka JSP mootorid on veebiserveri osad. Servletimootor käivitab JSP-mootori koostatud käivitatava klassi ja genereerib HTML-vormingus väljundi. Veebiserveris on veel üks komponent, HTTP vastus. Servletimootor saadab HTML-väljundi HTTP vastusele.
- Lõpuks saadab veebiserver HTTP-vastuse brauserile Interneti kaudu staatilise HTML-i sisu kujul.
Seetõttu saate JSP-lehe abil servleti kirjutada väga väheste Java programmeerimisoskustega. Ülaltoodud JSP töötlemise põhjal võime järeldada, et see töötab samamoodi nagu servlet, välja arvatud tõlkefaas. See järgib 3-tasandilist arhitektuuri, mille veebiserver toetab JSP-lehte. Nüüd liigume JSP elutsükli poole. Siin arutame, kuidas JSP-fail läbib erinevaid faase ja kuidas see veebikonteineris on.
JSP elutsükkel
Mis tahes komponendi elutsükkel algab selle loomisest ja lõpeb selle hävitamisega. JSP elutsükkel sarnaneb servleti elutsükliga. JSP elutsükli täiendavat etappi kasutatakse JSP lehe servletiks teisendamiseks ja kompileerimiseks. JSP elutsüklit saab määratleda kui JSP lehe loomist, selle servletiks muutmist, servleti elutsüklit ja JSP lehe hävitamist. Vaatame nüüd allpool üksikasjalikult JSP elutsüklit.
JSP elutsükkel hõlmab nelja peamist teed:
- Koostamine
- Initsialiseerimine
- Täitmine
- Korista ära
Kõik need neli JSP elutsükli teed on sarnased servleti elutsükli radadega. Allolev diagramm illustreerib ülaltoodud etappe.

Arutleme nüüd üksikasjalikult JSP elutsükli iga faasi ja selle kirjelduse üle.
- Taotletud lehte sõelub JSP-mootor.
- Seejärel muudab see JSP-lehe servletiks.
- Lõpuks kompileeritakse servlet.
- Esiteks sisaldab see olekurida, Carriage Return (CRLF) ja reavahetust. Reavahetus eeldab uut rida.
- Järgmine on null või enam päise rida ja Carriage Return (CRLF).
- Siis tuleb tühi rida, CRLF.
- Lõpuks on sõnumi sisu valikuline. Sõnumi sisu võib sisaldada päringu väljundit, päringu andmeid või faili.
- Esiteks looge küpsiseobjekt. Kutsuge küpsise ehitaja küpsise nime ja vastava väärtusega. Nii nimi kui ka väärtus on esitatud stringis.
- Pärast küpsise loomist määrame nüüd selle maksimaalse vanuse, kasutades seaMaxAge funktsiooni.
- Lõpuks kasutage küpsise lisamiseks HTTP vastuse päisesse faili response.addCookie.
Kui klient või brauser saadab JSP-lehe HTTP-päringu, kontrollib veebiserveris olev JSP-mootor, kas päringu leht tuleb kompileerida või mitte. JSP-mootor koostab nõutud lehe, kui seda pole varem koostatud või seda ei koostatud pärast lehe muutmist. Lehe koostamine koosneb kolmest järgmisest etapist:
Kui JSP leht muudetakse servletiks, siis .jsp fail teisendatakse a .java faili. Koostamise ajal oli .java seejärel teisendatakse fail a .klass faili.
Pärast kompileerimise lõpetamist toimub klassi laadimise protsess. JSP-allikas laadib servletiklassi ja see servletiklass laaditakse seejärel konteinerisse. Servletiklassi eksemplar luuakse konteineris. Pärast servletiklassi eksemplari loomist on jspInit () meetodit kasutatakse. Seda meetodit kasutatakse JSP elutsükli jooksul ainult üks kord. JSP-spetsiifilise lähtestamise jaoks peate alistama jspInit () meetod järgmiselt:
|_+_|Kui jspInit () meetod on instantseeritud, peate looma andmebaasiühenduse ja genereerima failis otsingutabelid.
Pärast jspInit () meetod on instantseeritud, _jspService() meetodit kasutatakse. See meetod teenindab kõiki kliendi poolt veebiserverisse saadetud päringuid, kuni JSP hävitatakse.
The _jspService() meetod hõlmab kahte erinevat parameetrit, HttpServletRequest ja HttpServletResponse . See meetod on määratletud järgmiselt:
|_+_|The _jspService() meetod vastab kõigile kliendi päringutele. Kui klient taotluse esitab, _jspService() meetodit kasutatakse. Samuti vastab see kõigile seitsmele HTTP-päringule, näiteks SAADA , KUSTUTA , POSTITA , PANGE jne. Saate alistada _jspService() meetod.
JSP elutsükli viimane etapp on puhastamine, kus JSP hävitatakse. Konteiner eemaldab JSP ja ei kasuta seda. See meetod on sama, mis servleti hävitamise meetod. Kui peate sulgema andmebaasis olevad failid või sulgema andmebaasiühenduse, saate selle tühistada jspDestroy() meetod. Meetodi jspDestroy() süntaks on järgmine:
|_+_|Süntaksid JSP-s
Selles segmendis õpime tundma mitmete JSP elementide süntaksit, nagu toimingud, direktiivid, kaudsed objektid, kommentaarid, avaldised jne. See õpetuse osa on JSP domeeni algajatele väga oluline. Järgmine on JSP süntaksi lühijuhend.
Scriptlet on üks tugevamaid JSP elemente. Skriptletis saame salvestada Java-lauseid, meetodeid, muutujaid ja avaldisi. Lisaks saab see salvestada ka mis tahes skriptikeele elemente. Allpool on Scriptleti element Süntaks:
Süntaks:
|_+_|Ülaltoodud Scriptleti süntaksi saab kirjutada XML-i ekvivalendina järgmises vormingus:
|_+_|Kõik HTML-sildid, JSP-elemendid ja mis tahes muu tekst kirjutatakse alati väljaspool Scriptleti silte. Näeme HTML-lehel otsest näidet JSP-st.
Näide:
|_+_|Tomcati server peaks olema installitud teie töölauale ja selle keskkond peaks olema selle programmi käitamiseks seadistatud. Tomcati serverikeskkonna seadistamiseks järgige ülaltoodud keskkonna häälestuse samme. Salvestame ülaltoodud faili nimega firstjsp.jsp aastal C:apache-tomcat7.0.2webappsROOT kausta. Pärast faili salvestamist minge brauserisse ja tippige URL, http://localhost:8080/firstjsp.jsp. Ülaltoodud kood kuvab JSP kiirjuhendi ja teie süsteemi IP-aadressi.
Kui vajate Java-koodis muutujaid või meetodeid, deklareerivad need JSP-deklaratsioonid. Enne Java-koodis muutuja või meetodi kasutamist peate selle deklareerima JSP-deklaratsiooni abil. JSP deklaratsioonide süntaks on järgmine:
Süntaks:
|_+_|Ülaltoodud süntaks on XML-is kirjutatud järgmiselt:
|_+_|Vaatame nüüd näidet JSP-deklaratsioonidest.
Näide:
|_+_|JSP avaldis sisaldab skriptikeele väljendeid. Neid avaldisi saab hinnata, teisendada stringiks ja lisada JSP-faili, kus avaldis kuvatakse. Tekstiga saate kasutada JSP-avaldisi, kuna selle saab teisendada stringiks. JSP-avaldiste märgistamine HTML-i siltide sees ei ole kohustuslik. Üks oluline asi, mida JSP-avaldise kirjutamisel meeles pidada, on see, et nad ei kasuta avaldise lõpetamiseks semikoolonit.
Süntaks:
|_+_|Ülaltoodud süntaksi saab kirjutada selle XML-i ekvivalendisse järgmiselt:
|_+_|Järgmine näide aitab teil mõista, kuidas kasutada JSP-avaldist HTML-is.
|_+_|Saate väljundi praeguse kuupäeva ja kellaajana järgmiselt:
|_+_|Kommentaarid on avaldused, mis ei ole täitmiseks. Need on mõeldud ainult programmeerijatele ja lugejatele. JSP-s eirab konteiner kommentaare. Kui soovite mõnda JSP-programmi osa peita, saate seda osa kommenteerida JSP-kommentaaride abil. Järgmine on JSP-kommentaaride süntaks.
Süntaks:
|_+_|Teostame alloleva näite, mis sisaldab JSP kommentaari.
Näide:
|_+_|Selle koodi tulemus on toodud allpool.
|_+_|JSP-s on palju muid võimalusi kommentaaride täpsustamiseks. Allpool on kuus erinevat kommentaari süntaksit ja nende kasutusalasid:
Ülaltoodut nimetatakse HTML-kommentaariks ja brauser ignoreerib kommentaari sees olevaid märke või sõnu.
tähendab staatilist literaali.
Ülaltoodud kommentaar viitab ka staatilisele literaalile.
See määrab atribuudis kasutatava topelt jutumärgi.
See määrab atribuudis kasutatava ühe jutumärgi.
JSP-s on kolm direktiivi, , , ja . The direktiivi kasutatakse lehe atribuutide (nt vealeht, skriptikeel ja puhverdusnõuded) määratlemiseks. Teine direktiiv, , sisaldab konkreetset faili, mida kasutatakse JSP elutsükli tõlkefaasis. Lõpuks, direktiivi kasutatakse vahekaartide teegi ja JSP-lehel nõutavate kohandatud toimingute deklareerimiseks. Kui kasutatakse JSP direktiive, mõjutavad need servletiklassi struktuuri. Siin on JSP direktiivi süntaks.
|_+_|Toimingud on funktsioonid, mis on juba määratletud. JSP-toiminguid kasutatakse servletimootori käitumise juhtimiseks. Need toimingud lisavad konstruktsiooni XML-koodi. JSP-toimingute abil saate dünaamiliselt sisestada mis tahes faili, luua Java pistikprogrammi HTML-i või uuesti kasutada JavaBeansi komponente. Allpool on JSP-toimingute süntaks.
Süntaks:
|_+_|Allpool loetleme mõned olulised JSP-toimingud ja nende kirjeldused:
JSP-s on üheksa kaudset objekti, päring, vastus, seanss, väljund, lehekontekst, konfiguratsioon, rakendus, leht ja erand. Andke meile siin iga kaudse objekti kohta üksikasjalikult teada.
JSP kasutab ka kontrolli-voo avaldusi, otsustuslauseid ja silmuseid. Siin näeme, kuidas otsustuslauset ja silmuseid kasutatakse JSP programmeerimises.
Otsuste tegemise avaldused
Olemasolevate valikute üle otsustamiseks kasutatakse otsustusavaldusi. Otsustusavalduse rakendamiseks on kaks võimalust. Üks kasutab lauset if_else ja teine käänet vahetustähte. Iga if ja else tingimus on suletud eraldi skriptidesse. Vaatleme näidet if_else lausest JSP-s.
Näide:
|_+_|Siin oleme deklareerinud 'kuu = 3' ja täpsustanud tingimused if_else avaldustes. Seetõttu on väljund järgmine:
|_+_|Nüüd rakendame lüliti… juhtumiavaldused. Allpool olev kood erineb oluliselt ülaltoodud koodist, kuna alloleva koodi tingimused on määratletud ühes Scriptletis.
Näide:
|_+_|Väljund:
|_+_|Loop avaldused
Me kasutame programmis olevat tsüklit konkreetse käsu kordamiseks teatud arv kordi. JSP toetab kolme erinevat tüüpi silmust, for, while ja do…while. Vaatame allpool iga silmuse tüübi näiteid.
Loopi jaoks:
|_+_|Väljund:
|_+_|Silmuse ajal:
|_+_|Väljund:
|_+_|JSP-s kasutatakse kõiki Java toetatud loogilisi ja aritmeetilisi operaatoreid. JSP-avaldistes kasutatakse nende hindamiseks operaatoreid. Esmalt hinnatakse kõrgeima prioriteediga operaatorit ja lõpuks hinnatakse madalaima prioriteediga operaatorit. Oleme loetlenud kõik JSP-operaatorid, millel on kõrgeim eelisjärjestus, esimene, teine kõrgeim ja nii edasi.
JSP toetab viit erinevat literaali või andmetüüpi: Boolean, täisarv, ujukoma, String ja NULL. Selle tulemusena tagastab Boole'i literaal kas tõese või väära. JSP programmis kasutatakse arvu määramiseks täisarvu ja ujukoma kasutatakse kümnendarvude deklareerimiseks. JSP stringi andmetüüp erineb Java keele omast. Andmetüüp NULL määrab nullväärtuse.
JSP toimingud
Oleme näinud, millised on JSP tegevused. Samuti oleme ülaltoodud lühikirjelduses näinud kõiki JSP-toiminguid. Toimingud pole muud kui funktsioonid, mis reguleerivad JSP mootori käitumist. Tuletagem meelde JSP toimingu süntaksit.
Süntaks:
|_+_|JSP toimingud on jsp:include, jsp:useBean, jsp:setProperty, jsp:getProperty, jsp:forward, jsp:element, jsp:plugin, jsp:attribute, jsp:body ja jsp:text. Kõigil neil JSP-toimingutel on kaks ühist komponenti, ID ja ulatus.
ID-komponenti kasutatakse mis tahes JSP-toimingu ainulaadseks tuvastamiseks. Seda JSP-toimingu komponenti kasutatakse JSP-programmis, määratledes teostatava toimingu. Teine element on ulatus, mida kasutatakse JSP toimingu elutsükli tuvastamiseks. Toimingu ID abil määratakse selle eluiga. Seetõttu on element ID ja ulatus otseselt proportsionaalsed. Ulatuskomponent võib võtta võimalikud väärtused: leht, seanss, päring või rakendused.
Tegevus
Toiming useBean JSP-s leiab esmalt objekti, millel on atribuudid ID ja ulatus. Kui objekti ei leita, loob see toiming selle konkreetse ID ja ulatuse atribuutide jaoks objekti. Klassi useBean laadimine on järgmine.
|_+_|Pärast Bean-klassi laadimist saate kasutada kahte teist JSP-toimingut, jsp:setProperty ja jsp:getProperty . Neid toiminguid kasutatakse ubade omaduste muutmiseks ja toomiseks. UseBeani toiming kasutab kolme erinevat atribuudid , klass , tüüp ja beanName. The klass atribuut määrab oa paketi nime. Saate kasutada tüüp element muutujatüübi määramiseks objektile, millele viitame. Lõpuks annab beanName oa nime. Meetod instantiate() määrab uba nime.
Tegevus
Toimingut kasutatakse oa omaduse määramiseks. Ainus nõue oa omaduste määramiseks on see, et uba tuleb kõigepealt määratleda. Toimingu kasutamiseks on kaks võimalust järgmiselt.
Esimene võimalus on kasutada välist ja pärast komponenti.
|_+_|Ülaltoodud süntaksi korral teostatakse toiming isegi siis, kui uut elementi ei esine või olemasolevat ei leita.
Teine viis toimingu määratlemiseks on jsp:useBean komponendi sees.
|_+_|Erinevalt esimesest kasutusviisist käivitatakse teine viis ainult siis, kui leitakse olemasolev või luuakse uus.
jsp:setProperty sisaldab nelja erinevat atribuuti, nimi , vara , väärtus , ja peatus . The nimi atribuut määrab ubale nime, mille atribuut määratakse. Teine atribuut, vara , määrab omaduse. The väärtus on varale määratud väärtus ja peatus atribuut määrab atribuudi poolt vastuvõetud parameetri nime.
Tegevus
Oleme näinud, et jsp:setProperty toiming määrab atribuudi väärtuse. Siin hangib toiming kinnisvara väärtuse. Pärast väärtuse toomist teisendab see selle stringiks ja lisab selle tulemusele.
Toimingul on ainult kaks atribuuti, nimi ja omadus. The nimi atribuut määratleb oa nime, millel on konkreetne omadus, ja vara atribuut määrab oa omaduse nime. Allpool on toimingu süntaks:
|_+_|Vaatleme ühte näidet, mis sisaldab näide uba. Salvestage allolev fail nimega NäideBean.java .
|_+_|Pärast selle koodi kirjutamist NäideBean.java fail, kompileerige see genereerimiseks NäideBean.klass faili. Nüüd kopeerige NäideBean.klass faili juurde C:apache-tomcat-7.0.2webappsWEB-INFclassesaction kausta. Veenduge, et olete määranud ka CLASSRATH muutuv.
Nüüd peate looma main.jsp faili ja kirjutama sellesse alloleva koodi.
|_+_|Väljund:
|_+_|Tegevus
Kui soovite Java-elemente JSP-programmi lisada, kasutatakse seda toimingut. See toiming tuvastab ka brauseri tüübi ja lisab või sildid JSP-programmi. Oletame, et vajate Java komponenti, mille pistikprogramm pole saadaval. Toiming laadib alla Java-komponendi (nt Applet või Bean) käivitamiseks vajaliku pistikprogrammi. Pistikprogrammi toimingul on mitu atribuuti, mis vastavad HTML-i siltidele.
Allpool on üks otsene näide tegevusest.
|_+_|Ülaltoodud koodis saame jälgida uut elementi, . Kui komponent ebaõnnestub, saadab see element kasutajale veastringi.
Tegevused, nagu , , ja määratleb XML-i elemendid. Kõik XML-i elemendid genereeritakse käitamise ajal, mitte kompileerimise ajal, st need genereeritakse dünaamiliselt.
Tegevus
Kui soovite praeguse lehe toimingu lõpetada ja edastada selle teisele ressursile, saate kasutada tegevust. Selle toimingu süntaks on esitatud järgmiselt:
|_+_|Toiminguga on seotud ainult üks atribuut, the lehel . See leht peab sisaldama selle ressursi suhtelist URL-i, kuhu toiming edastatakse. Ressursiks võib olla JSP leht, Java Servlet ja staatiline leht.
Nüüd näeme üht lihtsat näidet toimingust. Loome kaks faili, date.jsp ja main.jsp . Fail date.jsp kuvab praeguse kuupäeva ja fail main.jsp sisaldab toimingut.
date.jsp faili
|_+_|main.jsp faili
|_+_|Peate mõlemad failid JUURkataloogi salvestama. Nüüd jõuame tulemuse vaatamiseks faili main.jsp. See ei kuva faili main.jsp sisu; selle asemel kuvab see sisu failist date.jsp, kuna see on edastatud fail.
Väljund:
|_+_|Tegevus
Toimingu abil saame kirjutada JSP-lehtedele tekstimalle või dokumente. Allpool on toimingu süntaks:
|_+_|Siin sisaldab mall ainult teksti ja EL-avaldisi. Mallis ei saa olla muid elemente. Ärge kasutage XML-failides väljendit as ${whatever > 0} , kuna see märk ei ole lubatud või ebaseaduslik. Selle asemel võite kasutada ${whatever gt 0} .
JSP direktiivid
Süntaksi jaotises oleme näinud, millised on JSP kataloogid. Siin õpime üksikasjalikult JSP katalooge. Direktiivid on JSP-s olulised, kuna need juhivad ja suunavad JSP-konteinerit konkreetsete JSP-töötluselementide käsitlemiseks ja reguleerimiseks. JSP direktiivid mõjutavad kogu servletiklassi struktuuri.
Süntaks:
|_+_|Direktiivides olevad atribuudid on võtme-väärtuse kujul. Direktiivides võib olla mitu atribuuti ja igaüks neist eraldatakse komaga. Ülaltoodud süntaksis võime jälgida tühikut '<%@’ ja direktiivi nimi ning väärtus ja '%>.' Need ruumid on valikulised. Pole muret, kui te nende vahele tühikuid ei lisa. Eespool nägime, et on kolm direktiivi silti, , , ja . Arutame üksikasjalikult kõiki neid direktiivi silte.
Lehekülje direktiiv
Lehekülje direktiiv annab juhiseid konteineri praegusele lehele. Saate lisada lehe direktiivi kõikjal oma JSP-programmi. Üldiselt kasutatakse lehe käskkirja JSP lehe ülaosas. Lehe direktiivi süntaks on:
|_+_|Ülaltoodud süntaks on kirjutatud XML-is, nagu on näidatud allpool:
|_+_|Lehe direktiiviga on seotud 13 atribuuti, nagu allpool selgitatud.
Kaasamise direktiiv
Tõlkefaasis on sisaldama käskkirja kasutatakse faili lisamiseks JSP lehele. Selle direktiivi eesmärk on ka suunata konteiner ühendama kõik välised failid JSP-lehega. Kuna lehe käskkiri sisaldub ainult JSP lehe ülaosas, saab kaasamise käskkirja kasutada igal lehel.
Süntaks:
|_+_|Ülaltoodud süntaks on XML-is kirjutatud järgmiselt:
|_+_|Siin on failinimi suhteline URL. Kui te faili teed ei määratle, eeldab kompilaator, et teie fail on JSP asukohas.
Taglibi kataloog
Viimane kataloogitüüp on taglib . See kataloog pakub JSP-lehe kohta palju teavet, nagu kasutatud kohandatud siltide komplekt, teegi asukoht ja kohandatud siltide leidmine JSP-lehelt. Allpool on taglib kataloogi süntaks.
|_+_|Ülaltoodud süntaksi saab XML-is kirjutada järgmiselt:
|_+_|atribuut, vihkama , määrab asukoha, millest konteiner aru saab, ja eesliide atribuut annab konteinerile teada kohandatud toimingute koostise.
JSP kaudsed objektid
JSP kaudsed objektid on Java-objektid. JSP-konteiner võimaldab arendajatel kasutada neid kaudseid objekte igal JSP-lehel ilma selgesõnaliselt deklareerimata. Neid objekte nimetatakse ka eelmääratletud muutujad . Seal on üheksa erinevat kaudset objekti: päring, vastus, välja, seanss, rakendus, leht, lehekontekst, konfiguratsioon ja erand.
Taotluse objekt
The javax.servlet.http.HttpServletRequest objekt loob eksemplari nimega the nõuda objektiks. Kui klient või kasutaja taotleb konkreetset lehte, genereerib JSP-mootor uue objekti, mis esindab kliendi päringut. The nõuda objekt pakub mitut meetodit HTTP päise teabe ekstraheerimiseks, nagu HTTP meetodid, küpsised jne.
Vastuse objekt
The javax.servlet.http.HttpServletResponse objekt loob eksemplari nimega the vastuseks objektiks. Kuna JSP-mootor loob uue objekti alati, kui kasutaja taotleb konkreetset lehte, loob see ka objekti, mis esindab tema vastust. Vastusobjekti kasutades saate JSP-programmi lisada uusi küpsiseid, nagu HTTP olekukoodid, templid jne.
Väljas olev objekt
The javax.servlet.jsp.JspWriter objekt loob eksemplari nimega the välja objektiks. JSP-mootor saab lisada sisu kliendi küsitud vastusele. The JspWriter objektil on peaaegu samad meetodid java.io.PrintWriter klass. Selles on mõned täiendavad meetodid JspWriter puhverdamiseks kasutatav objekt ja viskab IOExceptioni.
Rakenduse objekt
The javax.servlet.ServletContext loob eksemplari nimega an rakendus objekt, mis toimib ümbrisena ServletContext objektiks. See objekt esindab JSP-lehte. Kui JSP-leht on lähtestatud, luuakse rakenduse objekt. See objekt eemaldatakse, kuna JSP-leht hävitatakse jspDestroy() meetodi abil.
Seansi objekt
The javax.servlet.http.HttpSession loob eksemplari nimega the istungil objektiks. See objekt töötab samamoodi nagu Java Servlettides. Seansiobjekti esmane eesmärk on jälgida kliendipäringute vahelist seanssi.
Erandobjekt
Eelmise JSP-lehe erandit sisaldavat ümbrist nimetatakse erandiobjektiks. Veaseisundi ilmnemisel kasutatakse selle käsitlemiseks erandiobjekti.
Leht objekt
Leheobjekt annab viite lehe eksemplarile. See esindab kogu JSP lehte. ' see' objekt ja leheobjekt on teineteise sünonüümid.
Lehekonteksti objekt
The javax.servlet.jsp.PageContext loob eksemplari nimega lehekontekst objektiks. Nagu lehel objekt, lehekontekst objekt esindab ka kogu JSP lehte. Objekti pageContext atribuute kasutades saame tuletada muid kaudseid objekte, nt rakendus , konfig , istungil , ja välja . See objekt salvestab ka teavet, nagu lehe ulatus, errorPageURL ja puhverdamise teave. Objekti pageContext toetab 40 meetodit.
Konfiguratsiooniobjekt
The javax.servlet.ServletConfig loob eksemplari nimega the konfig objektiks. See objekt toimib ümbrisena ServletConfig objektiks. Kasutajad saavad seda objekti kasutada servleti või JSP-mootori lähtestamisparameetritele juurdepääsuks. Allpool toodud meetod on see, mida kasutatakse JSP-lehel, kasutades konfiguratsiooniobjekti.
|_+_|JSP kliendi taotlus
Veebiserver saab palju teavet, kui brauser või klient taotleb konkreetset veebilehte. Seda teavet ei saa otse kasutada, kuna see liigub läbi HTTP päringu päise. HTTP-päis sisaldab mitmeid elemente, mis salvestavad teabe, kui brauser veebilehte pärib. Need elemendid on aktsepteerimine, aktsepteerimine-märgistik, aktsepteerimine-kodeering, aktsepteerimiskeel, ühendus, autoriseerimine, küpsis, sisu pikkus, if-modified-sce, host, referrer, if-unmodified-sce, ja user-agent.
HTTPServletRequest objekt
Objekt javax.servlet.http.HttpServletRequest loob eksemplari, mida nimetatakse päringuobjektiks. Kui mõni kasutaja taotleb konkreetset lehte, genereerib JSP-mootor uue objekti. Päringuobjekti esmane eesmärk on hankida HTTP-teavet, nagu andmed, HTTP-meetodid, küpsised jne. Allpool on mõned meetodid, mis loevad JSP-programmist HTTP päise teavet.
HTTP päise päringu näide
Siin näeme ühte otsest näidet HTTP päise taotlusest. HTTP päise päringu näites rakendame getHeaderName() meetod HTTP päise teabe lugemiseks. See loob loendi, mis sisaldab päringu HTTP päise teavet. Meetod hasmoreElements() määrab, millal nextElement() meetod peatub.
Näide:
|_+_|Kirjutage ülaltoodud kood main.jsp faili ja pääseb sellele juurde HTTP-päringu päise teabe lugemiseks. See annab teile kogu teabe HTTP-päringu päise kohta, nagu host, ühendus, vahemälu juhtimine, kasutajaagent, aktsepteerimine, aktsepteerimise keel ja aktsepteerimise kodeering.
JSP serveri vastus
Kui klient või brauser taotleb veebilehte, vastab veebiserver HTTP-päringule, mida nimetatakse vastuseks. See vastus sisaldab tühja rida, dokumenti, olekurida ja mõnda vastuse päist. HTTP vastus näeb välja järgmine:
|_+_|Ülaltoodud koodis on HTTP versioon HTTP/1.1 , 200 on olekukood ja Okei on sõnum olekukoodile. Seal on mitu vastuse päist, mille HTTP/1.1 versioon saadab veebiserver brauserisse. Need vastuse päised on vahemälu juhtimine, lubamine, sisu paigutus, ühendus, sisu pikkus, sisu kodeering, sisu keel, aegumine, sisu tüüp, asukoht, viimati muudetud, küpsise seadmine, värskendamine ja uuesti proovimine pärast .
HttpServletResponse'i objekt
Javax.servlet.http.HttpServletResponse loob eksemplari, mida nimetatakse vastuseobjektiks. Selle objekti loob veebiserver, mis esindab kliendile saadetud vastust. Vastusobjekt on seotud ka HTTP-päiste loomiseks vajalike liidestega. Programmeerijad saavad JSP-programmi lisada uusi küpsiseid, HTTP olekukoode ja kuupäevatempleid. Järgnevalt on toodud mõned meetodid või funktsioonid, mida kasutatakse HTTP vastuse päise lisamiseks servletiprogrammi.
HTTP päise vastuse näide
Siin on näide HTTP-päise vastusest, mis kasutab päise Värskenda seadistamiseks funktsiooni setIntHeader().
Näide:
|_+_|Salvestage ülaltoodud kood failinimega, main.jsp . Iga 4 sekundi järel kuvatakse süsteemi praegune kellaaeg, nagu allpool näidatud.
Väljund:
|_+_|HTTP olekukood JSP-s
HTTP päringul ja HTTP vastusel on sama struktuur:
Ülaltoodud jaotises oleme näinud, kuidas vastuse päis välja näeb.
Veebiserver tagastab kliendile mõned HTTP-koodid ja nende vastavad sõnumid. Neid HTTP olekukoode ja nende sõnumeid kirjeldatakse järgmises jaotises.
Kood | Sõnum |
100 | Jätka |
101 | Protokollide vahetamine |
200 | Okei |
201 | Loodud |
202 | Vastu võetud |
203 | Mitteautoriteetne teave |
204 | Sisu puudub |
205 | Sisu lähtestamine |
206 | Osaline sisu |
300 | Mitu valikut |
301 | Liigub Püsivalt |
302 | Leitud |
303 | Vt Muu |
304 | Pole muudetud |
305 | Kasutage puhverserverit |
306 | Kasutamata |
307 | Ajutine ümbersuunamine |
400 | Halb taotlus |
401 | Volitamata |
402 | Nõutav makse |
403 | Keelatud |
404 | Ei leitud |
405 | Meetod pole lubatud |
406 | Ei ole vastuvõetav |
407 | Nõutav puhverserveri autentimine |
408 | Taotle ajalõpu |
409 | Konflikt |
410 | Läinud |
411 | Nõutav pikkus |
412 | Eeltingimus ebaõnnestus |
413 | Taotluse üksus on liiga suur |
414 | Taotluse URL on liiga pikk |
415 | Toetamata meediatüüp |
417 | Ootus ebaõnnestus |
500 | Serveri sisemine viga |
501 | Pole rakendatud |
502 | Halb värav |
503 | Teenus pole saadaval |
504 | Lüüsi ajalõpp |
505 | HTTP-versiooni ei toetata |
HTTP olekukoodi määramiseks kasutatakse kolme erinevat meetodit, nagu allpool kirjeldatud:
Näeme ühte otsest näidet, mis kuvab kliendile vea olekukoodi 407.
Näide:
|_+_|Ülaltoodud kood kuvab 407 HTTP olekukoodi koos Vajab autentimist sõnum.
Vormi töötlemine JSP-s
Sageli peame edastama andmed brauserist veebiserverisse ja lõpuks programmi. Brauser kasutab nende andmete veebiserverisse edastamiseks kahte meetodit, GET ja POST. Andmete lugemiseks JSP abil kasutatakse nelja meetodit, getParameter() , getParameterValues() , getParameterNames() , ja getInputStream() .
GET-meetod
GET-meetodit kasutatakse kodeeritud kasutajateabe edastamiseks ja selle lisamiseks lehepäringule. Kodeeritud kasutajateave ja lehepäring on eraldatud sümboliga '?'. See meetod on brauserist kasutajateabe veebiserverisse edastamise vaikeseade. See tagastab stringi, mis sisaldub failis Asukoht: kast brauseris. Kui teil on konfidentsiaalseid andmeid, nagu paroolid, ärge kasutage GET-meetodit.
URL-i kasutava GET-meetodi näide
Loome URL-i, mis edastab GetURLForm programmile kaks erinevat väärtust kasutades GET meetodit.
|_+_|Kirjutame alloleva koodi main.jsp faili. Oleme JSP abil andmete lugemiseks kasutanud meetodit getParameter().
Näide:
|_+_|Väljund:
|_+_|Küpsiste käsitlemine
Mis on küpsised? Küpsised on tekstifailid, mis asuvad kliendi töölaual ja mida kasutatakse jälgimise eesmärgil. HTTP-küpsiseid toetab JSP. Siin näeme HTTP-küpsise anatoomiat, küpsise seadmist või lähtestamist ja küpsiste meetodeid.
Küpsise anatoomia
Küpsis on alati HTTP päises olemas. Kui JSP määrab küpsise HTTP päises, on sellel järgmine struktuur.
|_+_|Aastal Set-Cookie päis ülaltoodud, saate jälgida nimi-väärtus paar, kuupäev GMT-s, a tee , ja domeeni . See nime-väärtuse paar on olemas URL-i vormingus. Teine ülaltoodud küpsise element on aegub , mis käsib brauseril see küpsis pärast määratud kuupäeva ja kellaaega unustada.
Küpsiste meetodid
Järgnevalt on toodud mõned küpsistega seotud olulised meetodid koos nende kirjeldustega.
Kuidas küpsist seadistada?
Küpsise seadmiseks on kolm lihtsat meetodit. Neid meetodeid selgitatakse allpool:
Küpsise loomisel peate meeles pidama, et nimes ja väärtuses ei tohiks olla tühikuid ega erisümboleid.
Ülaltoodud funktsioon määrab küpsiste maksimaalseks vanuseks 24 tundi.
Järeldus
JavaServer Pages või Jakarta Server Pages (JSP) on tehnoloogia, mis võimaldab arendajatel luua dünaamilist sisu või veebilehti. JSP-l on mitmeid täiustatud eeliseid, kuna seda on lihtne hooldada, see nõuab vähem koodi kui servletid ja pakub kiiret arendust. See artikkel on lühike juhend algajatele kasutajatele JSP õppimiseks.
Oleme käsitlenud kõiki JSP aspekte, mida algajad arendajad peavad õppima. Enne mis tahes JSP-programmi käivitamist seadistage esmalt Java keskkond ja Tomcati klassitee. Siin on täielik õpetus kõigi oluliste JSP elementide kohta.
Meil on a Graafikuteooria lühijuhend mis räägib üksikasjalikult kõigist graafiteooriaga seotud üksikasjadest.