Programmeerimine

JSP – kiirjuhend algajatele

30. oktoober 2021

Sisukord

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.

JSP

Ü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:

  1. Koostamine
  2. Initsialiseerimine
  3. Täitmine
  4. Korista ära

Kõik need neli JSP elutsükli teed on sarnased servleti elutsükli radadega. Allolev diagramm illustreerib ülaltoodud etappe.

JSP

Arutleme nüüd üksikasjalikult JSP elutsükli iga faasi ja selle kirjelduse üle.

    JSP koostamine

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:

  • Taotletud lehte sõelub JSP-mootor.
  • Seejärel muudab see JSP-lehe servletiks.
  • Lõpuks kompileeritakse servlet.

Kui JSP leht muudetakse servletiks, siis .jsp fail teisendatakse a .java faili. Koostamise ajal oli .java seejärel teisendatakse fail a .klass faili.

    JSP initsialiseerimine

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.

    JSP täitmine

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 puhastamine:

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.

    Skriptlet:

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.

    Deklaratsioonid

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:

|_+_|
    Väljendus

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

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.

    direktiivid

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.

|_+_|
    Tegevused

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:useBean: see toiming loob või tuvastab JavaBeani.jsp:getProperty: JavaBeani atribuudi lisamiseks väljundisse saate kasutada toimingut jsp:getProperty.jsp:setProperty: see toiming parandab JavaBeani atribuuti.jsp:include: kui kasutaja taotleb lehte, lisab see toiming faili.jsp: plugin: loob Java pistikprogrammi jaoks OBJECT- või EMBED-märgendi ja brauseripõhise koodi.jsp:atribuut: seda toimingut kasutatakse dünaamiliselt määratletud XML-elemendi atribuudi määratlemiseks.jsp: edasi: see toiming viib kasutaja uuele lehele.jsp:element: kui teil on vaja XML-i elemente dünaamiliselt määratleda, kasutage seda toimingut.jsp:tekst: see toiming võimaldab kasutajatel lisada JSP-lehele malli teksti.jsp:body: seda kasutatakse dünaamiliselt määratletud XML-elemendi keha määratlemiseks.
    Kaudsed objektid

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.

    nõuda: päringuobjekt on HttpServletRequest, mis on seotud kliendi päringuga.vastuseks: vastuseobjekt on HttpServletResponse, mis on seotud serveri vastusega kliendile.istungil: see objekt hõlmab HttpSessionit ja on seotud kliendi päringuobjektiga.välja: Teine kaudne objekt on väljas. Seda kasutatakse väljundi saatmiseks kliendile, kasutades objekti PrintWriter.lehekontekst: see kaudne objekt määrab serverispetsiifiliste funktsioonide rakenduse. Üks näide serverispetsiifilisest funktsioonist on JspWriters.konfig: see objekt hõlmab ServletConfigi objekti, mida kasutatakse koos JSP-lehega.rakendus: JSP objekti ServletContext kasutatakse koos rakenduse kontekstiga.lehel: lehe kaudne objekt kutsub kõiki meetodeid, mis on määratletud servletiklassiga.Erand: määratud JSP pääseb erandiandmetele juurde, kasutades erandiobjekti.
    Kontrolli-voo avaldused

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:

|_+_|
    Operaatorid JSP-s

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.

    Postfix: on kolm postfixi operaatorit „()”. '[]' ja '.'. Kõigil neil operaatoritel on assotsiatiivsus vasakult paremale.Unaarne: Unaarsed operaatorid on '++', '–', '!' ja '~', millel on assotsiatiivsus paremalt vasakule.Korrutav: on kolm kordamisoperaatorit '*', '/' ja '%'. Neil on assotsiatiivsus vasakult paremale.Lisand: liiteoperaatorid on '+' ja '-'. Neil on ka assotsiatiivsus vasakult paremale.Shift: Shift operaatorid, '>>', '>>> ja '<<’ have left to right associativity. Suhteline: on neli relatsioonioperaatorit '>', '=' ja '<=’. All of them have left to right associativity. Võrdsus: Võrdsuse operaatorid on '==' ja '!=', millel on assotsiatiivsus vasakult paremale.Bitipõhine JA: bitipõhise JA-operaatori (&) assotsiatiivsus on vasakult paremale.Bitipõhine XOR: bitipõhisel XOR-operaatoril (^) on assotsiatiivsus vasakult paremale.Bitihaaval VÕI: bitipõhise VÕI operaatori (|) assotsiatiivsus on vasakult paremale.Loogiline JA: Loogilisel JA-operaatoril (&&) on assotsiatiivsus vasakult paremale.Loogiline VÕI: Loogilise VÕI operaatori (||) assotsiatiivsus on vasakult paremale.Tingimuslik: Tingimuslikul operaatoril (?:) on assotsiatiivsuse õigus vasakule.Ülesandmine: on mitu määramise operaatorit, nagu =, +=, -+, *=, %=, /=, >>=,<<=, &=, ^=, and |=. All these operators have the right to left associativity. Lõik: komaoperaatoril (‘) on assotsiatiivsus vasakult paremale.

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.

    autoFlush: see atribuut reguleerib servleti väljundpuhvri käitumist.vealeht: errorPage kuvab teise JSP URL-i, mis teeb Java kontrollimata käitusaja erandid.ulatub: Loodud servlet peaks laiendama määratud superklassi.puhver: puhvri atribuut määrab väljundvoo puhverdusmudeli.sisu tüüp: see atribuut määrab märgikodeeringu skeemi.isErrorPage: näitab, kas praegune JSP-leht on URL, mis on määratud teise JSP-lehe atribuudi errorPage poolt.info: see määrab stringi, millele pääseb juurde meetodi getServletInfo() abil.keel: see atribuut näitab JSP-lehtedel kasutatavat programmeerimiskeelt.jäetakse tähelepanuta: See määrab, kas EL-avaldist JSP-lehel ignoreeritakse.importida: see avaldus näitab kõiki pakette ja klasse, mida tuleb JSP-sse lisada. Java puhul määrab Java impordilause kõik klassid ja paketid, mis on vajalikud Java programmi kaasamiseks.isThreadSafe: see atribuut määrab servleti keermestusmudeli.istungil: seansi atribuut kontrollib, kas JSP-leht osaleb HTTP-seansis või mitte.isScriptingEnabled: see element määrab, kas kasutada JSP-lehel skriptielemente.

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.

    Loend getAttributeNames(): Selle meetodi tulemuseks on loend, mis sisaldab selle päringu jaoks saadaolevaid atribuutide nimesid.Küpsis[] getCookies(): kui klient saadab päringu, sisaldab see küpsiseobjekte. Seetõttu loob see meetod massiivi, mis sisaldab kõiki neid küpsiseobjekte.Loend getParameterNames(): selle meetodi tulemuseks on stringiobjektide loendamine. See loend sisaldab päringus olevaid parameetrite nimesid.Loend getHeaderNames(): loob loendi, mis sisaldab selles päringus olevaid päiste nimesid.HttpSession getSession (tõve loomine): Meetod HttpSession getSession(tõve loomine) annab selle päringuga seotud praeguse HttpSessioni. Kui sel hetkel seanssi pole ja loomise tõeväärtus on tõene, luuakse selle meetodi tulemuseks uus seanss.HttpSession getSession(): see meetod tagastab taotlusega seotud praeguse seansi. Kui seanss pole saadaval, loob see meetod uue ja tagastab selle.Objekti getAttribute (stringi nimi): loob selle atribuudi väärtuse, millel on objektina nimi. Kui atribuudil nime pole, tagastab see NULL.Kohalik getLocale (): see annab tagasi lokaadi, kus klient sisu vastu võtab.String getAuthType(): see meetod määrab autentimisskeemi nime, mida kasutatakse servleti säilitamiseks. Kui JSP ei ole konserveeritud, tagastab see NULL.ServletInputStream getInputStream(): ServletInputStream toob päringu keha binaarsel kujul.String getContent Type(): see meetod annab tagasi päringu keha MIME-tüübi. Kui tüüp pole teada, tagastab see NULL.String getCharacterEncoding(): päringu kehas olev märgikodeeringu nimi luuakse selle meetodiga.String getHeader (stringi nimi): tagastab päringu päise väärtuse stringi vormingus.String getContextPath(): loob päringu URI osa.String getParameter (stringi nimi): selle meetodi tulemuseks on päringu parameetri väärtus vormil String. Kui päringu parameetrit pole, tagastab see NULL.String getMethod(): meetod String getMethod() loob HTTP päringu nime, mida kasutati praeguse päringuga.String getProtocol(): JSP-s olevad päringud kasutavad teatud protokolle. See meetod tagastab protokolli nime ja versiooni.String getPathInfo(): kui klient päringu esitab, saadab ta URL-i. Meetod String getPathInfo() tagastab URL-iga seotud tee kohta lisateabe.String getRemoteAddr(): Selle meetodi tulemuseks on kliendi süsteemi Interneti-protokolli (IP) aadress.String getRemoteUser(): loob päringu teinud autentitud kliendi sisselogimisandmed. Kui kasutaja ei ole autentitud, tagastab see NULL.String getRemoteHost(): Kui päringu esitanud kliendi nimi tuleb alla laadida, saab kasutada meetodit String getRemoteHost().String getRequestedSessionId(): see meetod annab tagasi seansi ID, mille määrab klient.String getRequestURI(): tagastab protokolli nimest päringu URL-i.String[] getParameterValues(stringi nimi): see meetod annab tagasi stringobjekte sisaldava massiivi. Need objektid hoiavad kõigi päringus olevate parameetrite väärtusi.String getServletPath(): tagastab ka päringu URL-i.int getContentLength(): tagastab päringu keha pikkuse baitides.tõeväärtus isSecure(): see annab tagasi tõeväärtuse, mis määrab, kas päring tehakse turvalise kanali kaudu või mitte.int getServletPort(): see meetod annab päringu pordi numbri.int getIntHeader (stringi nimi): selle meetodi tulemuseks on päringu päise väärtus täisarvu vormingus.

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.

    String encodeURL (stringi url): seda meetodit kasutatakse konkreetse URL-i kodeerimiseks, mis sisaldab seansi ID-d. Kui kodeering on nõutav, saadab see meetod URL-i muutmata.String encodeRedirectURL(Stringi url): SendRedirect funktsioonis sisalduv URL on kodeeritud. Kui kodeeringut ei nõuta, jääb URL muutumatuks.tõeväärtus on Committed(): selle funktsiooni tulemuseks on tõeväärtus, mis määrab, kas vastus on tehtud.tõeväärtus sisaldab päist (stringi nimi): tulemuseks on ka tõeväärtus, mis määrab, kas nimega vastuse päis on määratud.void addHeader (stringi nimi, stringi väärtus): see funktsioon sisaldab vastuse päist selle nime ja väärtusega.void addDateHeader (stringi nimi, pikk kuupäev): see sisaldab ka uut vastuse päist koos selle nime ja kuupäevaga.void flushBuffer(): see funktsioon kirjutab puhvris oleva sisu jõuliselt kliendile.void addIntHeader(stringi nimi, int väärtus): see funktsioon sisaldab uut vastuse päist selle nime ja täisarvu väärtusega.void resetBuffer(): see eemaldab või kustutab kogu sisu aluseks olevast puhvrist, kuid ei kustuta päiseid ja olekukoode.void reset (): see funktsioon eemaldab või kustutab kõik puhvris olevad andmed koos olekukoodi ja päistega.void sendError(int sc, string sõnum): tulemuseks on tõrketeade teatud olek ja see saadetakse kliendile.void sendError(int sc): See funktsioon edastab veateate ka kliendile koos konkreetse olekukoodiga, kustutades andmed puhvrist.void setBufferSize(int size): see funktsioon määrab vastuse keha puhvri suuruse.void setIntHeader(stringi nimi, int väärtus): see funktsioon määrab vastuse päise koos selle nime ja konkreetse täisarvu väärtusega.

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:

  • 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.

Ü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
100Jätka
101Protokollide vahetamine
200Okei
201Loodud
202Vastu võetud
203Mitteautoriteetne teave
204Sisu puudub
205Sisu lähtestamine
206Osaline sisu
300Mitu valikut
301Liigub Püsivalt
302Leitud
303Vt Muu
304Pole muudetud
305Kasutage puhverserverit
306Kasutamata
307Ajutine ümbersuunamine
400Halb taotlus
401Volitamata
402Nõutav makse
403Keelatud
404Ei leitud
405Meetod pole lubatud
406Ei ole vastuvõetav
407Nõutav puhverserveri autentimine
408Taotle ajalõpu
409Konflikt
410Läinud
411Nõutav pikkus
412Eeltingimus ebaõnnestus
413Taotluse üksus on liiga suur
414Taotluse URL on liiga pikk
415Toetamata meediatüüp
417Ootus ebaõnnestus
500Serveri sisemine viga
501Pole rakendatud
502Halb värav
503Teenus pole saadaval
504Lüüsi ajalõpp
505HTTP-versiooni ei toetata

HTTP olekukoodi määramiseks kasutatakse kolme erinevat meetodit, nagu allpool kirjeldatud:

    public void setStatus(int statusCode): määrab olekukoodi, mis kasutab argumendina olekukoodi täisarvu.public void sendRedirect(String url): see funktsioon loob vastuse koodiga 302. Samuti genereerib see päise Asukoht, mis määrab uue dokumendi URL-i.public void sendError (int kood, stringsõnum): see funktsioon edastab lühisõnumiga brauserisse HTTP olekukoodi 404.

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.

    avalik string getDomain(): see funktsioon hangib küpsise domeeni.public void setDomain (stringimuster): Selle funktsiooni abil saate määrata oma küpsise domeeni.public int getMaxAge(): see võtab küpsise maksimaalse vanuse. Vanust esitatakse sekundites.public void setMaxAge(int expiry): see funktsioon määrab aja, mis kulub enne küpsise aegumist.avalik string getValue(): see hangib küpsise väärtuse.avalik string getName(): see toob küpsise nime. Küpsise nime ei saa pärast selle loomist muuta.public void setValue(String newValue): see funktsioon fikseerib küpsise väärtuse.avalik string getPath(): tulemuseks on küpsisega seotud tee.public void setPath (string uri): see funktsioon määrab küpsise tee.avalik string getComment(): tulemuseks on kommentaar, mis määrab küpsise eesmärgi või kasutuse. Kui küpsisel kommentaari pole, tagastab see NULL.public void setSecure(tõve lipp): see määrab tõeväärtuse, mis määrab, kas saata küpsis krüptitud ühenduse kaudu.public void setComment (stringi eesmärk): see funktsioon määrab küpsise kommentaari, täpsustades selle eesmärgi.

Kuidas küpsist seadistada?

Küpsise seadmiseks on kolm lihtsat meetodit. Neid meetodeid selgitatakse allpool:

  1. Esiteks looge küpsiseobjekt. Kutsuge küpsise ehitaja küpsise nime ja vastava väärtusega. Nii nimi kui ka väärtus on esitatud stringis.
|_+_|

Küpsise loomisel peate meeles pidama, et nimes ja väärtuses ei tohiks olla tühikuid ega erisümboleid.

  1. Pärast küpsise loomist määrame nüüd selle maksimaalse vanuse, kasutades seaMaxAge funktsiooni.
|_+_|

Ülaltoodud funktsioon määrab küpsiste maksimaalseks vanuseks 24 tundi.

  1. Lõpuks kasutage küpsise lisamiseks HTTP vastuse päisesse faili response.addCookie.
|_+_|

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.