Ohjelmointi

JSP – Pikaopas aloittelijoille

30. lokakuuta 2021

Sisällysluettelo

Mikä on JavaServer Pages?

The JavaServer Pages (JSP) , palvelinpuolen teknologia, auttaa kehittäjiä kehittämään web-sivuja, jotka käyttävät HTML , XML , SAIPPUA jne. Sitä kutsutaan myös nimellä Jakarta-palvelinsivut . JSP:ssä kehittäjät voivat upottaa Java-koodin HTML Kieli. JSP:ssä on ainutlaatuisia tunnisteita, mikä mahdollistaa Java koodi HTML:ssä. Nämä tunnisteet alkavat ja päättyvät '<%’ ja '%>' symboleja vastaavasti. JSP:iden suorittamiseen tarvitaan verkkopalvelin, joka sisältää servlet-säilön. Voit esimerkiksi käyttää Apache Tomcat tai Laituri .

JSP on mallinnettu Java servletit . Java servlet kutsutaan myös Jakarta Servletiksi. Ajon aikana JSP:t muunnetaan servletteiksi; siksi niitä kutsutaan servleteiksi. Yleensä JSP:t kirjoitetaan tekstitiedostoihin, ja niihin upotetaan HTML- tai XHTML-koodia, JSP-toimintoja, XML-elementtejä ja JSP-komentoja. JSP:t toimivat Java-verkkosovellusten käyttöliittymien roolissa. Kaikki implisiittiset JSP-objektit, kuten pyyntö, istunto, konfiguraatio, ulos, vastaus, sovellus, sivu ja pageContext, luovat verkkosäiliö .

Olet ehkä törmännyt verkkosivulomakkeisiin. Näiden lomakkeiden tarkoituksena on kerätä tietoja eri käyttäjiltä. Näissä verkkosivulomakkeissa JSP:tä käytetään ottamaan tietoja käyttäjiltä syötteeksi, järjestämään nämä tiedot tietokannan muotoon ja luomaan web-sivuja. JSP:n ensisijaisena tavoitteena on esittää XML- ja HTML-dokumenttityyppejä. Mutta se voi myös esittää asiakirjoja muissa muodoissa, kuten se käyttää OutputStream . JSP:n tiedostopääte on .jsp, .jspx, .jspf ja Internet-mediatyyppi on sovellus/jsp.

Voit muuntaa minkä tahansa HTML-tiedoston JSP-tiedostoksi muuttamalla tiedostopäätettä .html kohtaan .jsp . Kun olet vaihtanut laajennuksen, käytä JSP-tageja lisätäksesi Java-koodia HTML-sivuille. JPS:ää käyttämällä, kehittäjät voivat luoda dynaamista verkkoa sivut ja alustasta riippumattomat web-sivut. Katsotaanpa joitain JSP:n tärkeitä ominaisuuksia.

Tutustu meidän Ihmisen tietokoneen käyttöliittymäopas joka on hyvä aloittelijoille.

JSP-ominaisuudet

JSP on yksi kätevistä tavoista luoda dynaamista verkkosisältöä. On useita syitä, miksi kehittäjät valitsevat JSP:n useiden sovellusten luomiseen. Tässä on joitain Jakarta Server Pagesin valikoituja ominaisuuksia.

  • JSP:ssä on toiminto- ja mukautettuja tunnisteita. Siksi JSP:n koodin pituus on pieni.
  • Koodin kirjoittaminen JSP:llä on yksinkertaista, koska se upottaa Java-ohjelmointikielen HTML- tai XML-sivuille.
  • JSP:n avulla kehittäjät voivat kerätä tiedot ja laittaa ne tietokantaan tai lukea tai kirjoittaa tiedot tietokantaan.
  • Tämä palvelinpuolen tekniikka on erittäin joustava, kannettava ja vankka, koska se ei ole riippuvainen mistään selaimesta tai palvelimesta.
  • JSP-koodin ei tarvitse kääntää uudestaan ​​​​ja uudestaan. Se on alustasta riippumaton ja sitä voidaan käyttää missä tahansa konsolissa ilman uudelleenkääntämistä.
  • JSP sisältää implisiittisiä objekteja, servlettejä ja mukautettuja tunnisteita. Siksi kehittäjät luovat interaktiivisia ja reaaliaikaisia ​​verkkosivuja.
  • Voimme myös upottaa muita komentosarjakieliä JSP-ohjelmiin, kuten JavaScript, Perl, VBScript jne. Oletusarvoisesti Java on JSP:n komentosarjakieli.

Miksi käyttää Java-palvelinsivuja?

JSP:n käytössä on useita etuja. Ne toimivat samalla tavalla kuin Common Gateway Interface (CGI) . Web-palvelimet suorittavat kaikki ohjelmat, jotka luovat dynaamisia verkkosivuja yhteisessä yhdyskäytäväliittymässä. Kun vertaamme JSP:tä CGI:hen, JSP on kestävämpi ja tarjoaa enemmän etuja kehittäjille. Tässä on joitain syitä, jotka auttavat ymmärtämään, kuinka JSP on edullisempi kuin CGI.

  • Kehittäjät voivat lisätä dynaamisia elementtejä HTML:ään JSP:n avulla. Jos he käyttävät CGI:tä, heidän on luotava erillinen CGI-tiedosto dynaamisille elementeille.
  • JSP:t käännetään ja ajetaan myöhemmin millä tahansa alustalla. Toisaalta CGI lataa tulkin ja tulkitsee koodin aina, kun pyydät verkkosivua.
  • Voit käyttää JSP:tä ja servlettejä yhdessä liiketoimintalogiikan valvontaan. Java-servlet-mallimoottorit tukevat tätä yhdistettyä JSP- ja servlet-mallia.
  • JSP on Java-servlettien korkean tason abstraktio. Nämä sivut luodaan Java-servlet-käyttöliittymän ylimmälle tasolle. Näin ollen he voivat käyttää kaikkia ensisijaisia ​​Java-rajapintoja, kuten JAXP, JDBC, JNDI jne.
  • MVC-arkkitehtuurissa JSP:tä käytetään sen näkymäkerroksena.
  • Kaikki yritystason sovellukset suoritetaan alustalla nimeltä Java EE. Java EE -alusta sisältää JSP:n.

JSP:n edut

JSP on tehokkaampi ja tukevampi kuin muut tekniikat, kuten JavaScript, Static HTML, Pure Servlets jne. Tässä näemme, kuinka JSP on edullinen muihin tekniikoihin verrattuna.

  • Yksi JSP:n halutuimmista eduista on se, että se käyttää Java-ohjelmointikieltä dynaamisen osan kirjoittamiseen. Se ei käytä Visual Basicia koodin kirjoittamiseen. Toiseksi se on yhteensopiva muiden kanssa toimivat järjestelmät.
  • Käyttämällä JSP:itä upotamme Java-koodin HTML-sivuille. Siksi HTML:n muokkaaminen on vaivatonta.
  • Se hakee tiedot verkkolomakkeista ja yhdistää ne tietokantaan.
  • Verkkosovelluksessa JSP erottaa liiketoimintalogiikkakerroksen esitystasosta.
  • JSP käyttää Java-ohjelmointikieltä. Näin ollen se tukee myös Java:n monisäikeistä konseptia.

Ennen kuin siirrymme JSP-opetusohjelmaan, opastamme sinua JSP-ympäristön määrittämisessä. Lisäksi tarvitset yksityiskohtaista tietoa Java-ohjelmoinnista. Kerro meille nyt, kuinka JSP-ympäristö määritetään työpöydällesi.

Kuinka perustaa JSP-ympäristö?

Miksi sinun on määritettävä JSP-ympäristö? Onko JSP-ympäristö tarpeen korjata työpöydällä? Jos haluat luoda dynaamista verkkosisältöä tai verkkosovelluksia JSP:n avulla, sinun on määritettävä JSP-ympäristö. Tämän ympäristön avulla kehittäjät voivat kirjoittaa JSP-ohjelmia, kääntää niitä ja suorittaa niitä millä tahansa alustalla. Selitämme JSP-ympäristön asennuksen seuraavissa vaiheissa:

Java-kehityspaketin asennus

Ensimmäinen askel on korjata Java-kehityspaketti (JDK) työpöydällesi. Java-kehityspaketti on välttämätön, koska upotamme Java-koodin HTML-koodiin JSP:n avulla. Siksi JSP-ympäristö vaatii ensin JDK-ympäristön korjaamisen.

Ensinnäkin sinun on ladattava Java Software Development Kit (SDK) Oraclen viralliselta sivustolta verkkosivusto

Lataamisen jälkeen avaa .exe-tiedosto ja asenna ja määritä se annettujen ohjeiden mukaisesti. Myöhemmin sinun on asetettava kaksi ympäristömuuttujaa, PATH ja JAVA_HOME . Sinun on asetettava PATH muuttuja työpöydän sijainnin mukaan java , eli java_install_dir/bin, ja JAVA_HOME muuttuva sen sijainnin mukaan, jossa se on javac , eli java_install_dir .

Jos sinulla on Windows-järjestelmä ja olet asentanut SDK-tiedoston osoitteessa C:jdk1.5.0_20 sijainti, lisää tämä polku kohteeseen C:autoexec.bat tiedosto.

|_+_|

Jos olet asentanut SDK-tiedoston Windows NT-, 2000- tai XP-järjestelmään, voit määrittää sen eri tavalla. PATH ja JAVA_HOME ympäristömuuttujat. Sinun on napsautettava hiiren oikealla painikkeella Tietokoneeni , valitse Ominaisuudet , ick on Pitkälle kehittynyt , ja mene kohtaan ympäristömuuttujat . Tässä sinun on asetettava PATH sijaintiin java , eli Cjdk1.5.0_20in . Kun olet vaihtanut PATH:n, napsauta OK -painiketta.

Nyt osaamme asettaa PATH- ja JAVA_HOEM-ympäristömuuttujat UNIX-järjestelmille, kuten Solaris, Linux , jne. Oletetaan, että olemme asentaneet SDK-tiedoston /usr/local/jdk1.5.0_20 . Sinun on lisättävä alla olevat kaksi komentoa .cshrc tiedosto. Oletetaan, että käytämme C-kuorta.

|_+_|

Jos käytät Integrated Development Environment (IDE) -työkaluja, kuten Eclipse, Sun ONE Studio, JBuilder jne., ota esimerkki Java-ohjelmasta, käännä ja suorita se tarkistaaksesi, että IDE-työkalu tietää, mihin Java on asennettu järjestelmääsi.

Java-kehityspaketin asentamisen ja PATH- ja JAVA_HOME-ympäristömuuttujien asettamisen jälkeen seuraava vaihe on verkkopalvelimen asetukset.

Tomcat-verkkopalvelimen asettaminen

Nykyään on saatavilla useita web-palvelimia, jotka tukevat dynaamisten verkkosovellusten kehittämistä JSP:n tai Servlettien kautta. Käytämme Tomcat-verkkopalvelinta, joka on avoimen lähdekoodin ja ilmainen käyttää. Tomcat on lyhenne sanoista Apache Tomcat. Se on vapaasti kaikkien käytettävissä, ja se on yhteensopiva useiden palvelintekniikoiden, kuten JavaServer Pages, Servlets, WebSocket ja Java Expression Language, kanssa. Tomcatin Java-koodi suoritetaan puhdasta Javaa HTTP-verkkopalvelin.

Apache Tomcatissa on useita osia. Kerro meille jokaisesta komponentista ja sen käytöstä.

  • Tomcatin servlet-säiliö on Katherine , joka hyödyntää Sun Microsystemin JSP- ja servlet-spesifikaatioita. Käyttäjätunnus, salasana ja käyttäjien roolit ovat Realm-elementissä.
  • Tomcatin liitinkomponentti on Kojootti , joka on yhteensopiva HTTP 1.1 -protokollan kanssa.
  • Tomcatin JSP-moottori on Jaspis . Tämä moottori jäsentää JSP-tekstitiedoston ja kääntää sen Java-koodiksi.
  • Toinen Tomcatin osa on Klusteri , joka hallitsee suuria verkkosovelluksia.

Tässä on ohjeet Apache Tomcat -verkkopalvelimen lataamiseen.

  • Ensinnäkin sinun on ladattava Apache Tomcat sen viralliselta sivulta verkkosivusto

Sinun on ladattava Apache Tomcatin uusin versio.

  • Kun olet ladannut ohjelmiston, aseta ladattu tiedosto tiettyyn paikkaan. Jos esimerkiksi asensit Tomcatin Windows-järjestelmään, etsi ladattu tiedosto C:apache-tomcat-5.5.29 . Aseta tiedosto Linux- tai Unix-järjestelmille /usr/local/apache-tomcat-5.5.29 .
  • Kun olet löytänyt tiedoston, luo CATALINA_HOME ympäristömuuttuja. Aseta tämä muuttuja tomcat-tiedoston sijaintiin, kuten edellä mainittiin, eli Windows-järjestelmissä aseta muuttujaksi C:apache-tomcat-5.5.29 , ja Linux-järjestelmissä, aseta muuttuja arvoon /usr/local/apache-tomcat-5.5.29 .

Apache Tomcat -asennus on suoritettu onnistuneesti. Jos olet asentanut Tomcatin Windows-järjestelmään, käynnistä Tomcat-sovellus noudattamalla jotakin kahdesta komennosta.

|_+_|

tai

|_+_|

Jos Tomcat-sovelluksesi on asennettu Linux-järjestelmään, voit käynnistää Tomcat-sovelluksen kirjoittamalla minkä tahansa alla olevista komennoista.

|_+_|

Tai

|_+_|

Kun olet avannut Tomcat-sovelluksen onnistuneesti, käy osoitteessa http://localhost:8080/ . Huomaat kaikki Tomcatissa olevat oletussovellukset. Voit määrittää ja suorittaa Tomcat-sovelluksen käyttämällä Tomcatin viralliselta verkkosivustolta saatavaa dokumentaatiota.

Nyt näemme komennot Tomcat-sovelluksen sulkemiseksi Windows- ja Linux-järjestelmissä. Tomcat-sovelluksen sulkemiseen Windows-järjestelmissä on kaksi komentoa. Ne ovat seuraavat:

|_+_|

Tai

|_+_|

Linus-järjestelmissä voit sulkea Tomcat-sovelluksen seuraamalla mitä tahansa kahdesta komennosta.

|_+_|

Tai

|_+_|

CLASSPATH-asetukset

Keskustelemme CLASSPATHin määrittämisestä Windows- ja Linux-järjestelmille. Jos asensit Tomcatin Windows-järjestelmään, seuraa alla olevia koodirivejä CLASSPATHin määrittämiseksi.

|_+_|

Jos Windows-järjestelmässäsi on NT-, 2000- tai XP-versio, sinun on napsautettava hiiren kakkospainikkeella Tietokoneeni , valitse Ominaisuudet , Klikkaa Pitkälle kehittynyt , ja mene kohtaan ympäristömuuttujat . Täällä sinun on muutettava CLASSPATH-arvoa ja napsauta OK -painiketta.

Jos olet asentanut Tomcatin Linux-järjestelmään, lisää seuraavat kaksi riviä .cshrc-tiedostoon. Oletetaan, että käytämme C-kuorta.

|_+_|

Millainen on JSP:n arkkitehtuuri?

Olemme määrittäneet ympäristön JSP:lle. Olemme käyttäneet Apache Tomcatia JSP-sivujen suorittamiseen. JSP-sivujen käsittelyä varten on JSP-moottori, jota kutsutaan säiliöksi. Apache Tomcatissa on sisäänrakennettu JSP-moottori nimeltä Jaspis . Siksi kehittäjät voivat luoda JSP-sivuja Jasperin avulla. Säilö ja verkkopalvelin toimivat yhdessä tarjotakseen ajonaikaisen ympäristön eli JSP:n ja kaikki muut JSP:n edellyttämät palvelut.

JSP

Yllä oleva kaavio havainnollistaa JSP-säilön ja JSP-tiedostojen sijaintia missä tahansa verkkosovelluksessa. Nyt selitämme prosessin, jolla verkkopalvelin luo dynaamisen verkkosivun JSP:tä käyttämällä.

  • Ensinnäkin Windows-, Linux- tai macOS-järjestelmän asiakas tai selain lähettää HTTP-pyynnön verkkopalvelimelle Internetin kautta yllä olevan kaavion mukaisesti.
  • Web-palvelimessa on JSP-moottori, johon kaikki JSP-tiedostot tallennetaan. Vastaanotettuaan HTTP-pyynnön asiakkaalta web-palvelin tunnistaa, että pyyntö koskee JSP-sivua. Sen jälkeen se lähettää tämän pyynnön JSP-moottorille. Web-palvelin lähettää HTTP-pyynnön JSP-sivulle käyttämällä tiedostoa, jonka pääte on .jsp tai .html tai URL-osoitteen kautta.
  • Nyt JSP vastaanottaa HTTP-pyynnön, jonka asiakas on lähettänyt verkkopalvelimelle. Tiedämme, että HTTP-pyyntö koski JSP-sivua. Siksi moottori lataa kyseisen sivun levyltä ja muuntaa sen servlet-sisällöksi. Toisin sanoen kaikki mallin teksti muutetaan println()-lauseiksi. Toisaalta tämä muunnos muuntaa myös kaikki JSP-sivut Java-koodiksi.
  • Pyydetty JSP-sivu muunnetaan servletiksi. Siksi JSP-moottori kääntää servletin suoritettavaksi luokkaksi. Myöhemmin JSP-moottori lähettää asiakkaan HTTP-pyynnön servlet-moottorille.
  • Sekä servlet- että JSP-moottorit ovat osa verkkopalvelinta. Servlet-moottori suorittaa JSP-moottorin kääntämän suoritettavan luokan ja luo HTML-muotoisen tulosteen. Web-palvelimessa on toinen komponentti, HTTP-vastaus. Servlet-moottori lähettää HTML-lähdön HTTP-vastaukseen.
  • Lopuksi verkkopalvelin lähettää HTTP-vastauksen selaimelle Internetin kautta staattisen HTML-sisällön muodossa.

Siksi voit kirjoittaa servletin käyttämällä JSP-sivua hyvin vähän Java-ohjelmointitaitoja. Yllä olevasta JSP:n käsittelystä voimme päätellä, että se toimii samalla tavalla kuin servlet, käännösvaihetta lukuun ottamatta. Se noudattaa 3-tasoista arkkitehtuuria, jonka verkkopalvelin tukee JSP-sivua. Nyt siirrymme kohti JSP:n elinkaarta. Täällä keskustelemme siitä, kuinka JSP-tiedosto kulkee eri vaiheiden läpi ja kuinka se on läsnä verkkosäiliössä.

JSP:n elinkaari

Minkä tahansa komponentin elinkaari alkaa, kun se luodaan, ja päättyy, kun se tuhoutuu. JSP:n elinkaari on samanlainen kuin servletin elinkaari. JSP:n elinkaaren lisävaihetta käytetään JSP-sivun muuntamiseen ja kääntämiseen servletiksi. JSP-elinkaari voidaan määritellä JSP-sivun luomiseksi, sen muuntamiseksi servletiksi, servletin elinkaareksi ja JSP-sivun tuhoamiseksi. Katsotaanpa nyt JSP:n elinkaari yksityiskohtaisesti alla.

JSP:n elinkaareen kuuluu neljä ensisijaista polkua seuraavasti:

  1. Kokoelma
  2. Alustus
  3. Toteutus
  4. Siivota

Kaikki nämä neljä JSP-elinkaaripolkua ovat samanlaisia ​​kuin servletin elinkaaripolut. Alla oleva kaavio havainnollistaa yllä olevia vaiheita.

JSP

Keskustellaan nyt jokaisesta JSP-elinkaarivaiheesta ja sen kuvauksesta yksityiskohtaisesti.

    JSP-kokoelma

Kun asiakas tai selain lähettää HTTP-pyynnön JSP-sivulle, verkkopalvelimessa oleva JSP-moottori tarkistaa, pitääkö pyyntösivu kääntää vai ei. JSP-moottori kokoaa pyydetyn sivun, jos sitä ei ole käännetty aiemmin tai sitä ei ole käännetty sivun muokkauksen jälkeen. Sivun kokoaminen sisältää seuraavat kolme vaihetta:

  • JSP-moottori jäsentää pyydetyn sivun.
  • Sitten se muuntaa JSP-sivun servletiksi.
  • Lopuksi servlet käännetään.

Kun JSP-sivu muunnetaan servletiksi, .jsp tiedosto muunnetaan a .java tiedosto. Kokoamishetkellä .java tiedosto muunnetaan sitten a .luokka tiedosto.

    JSP-alustus

Kun käännös on valmis, luokkalataus tapahtuu. JSP-lähde lataa servlet-luokan, ja tämä servlet-luokka ladataan sitten säiliöön. Servlet-luokan ilmentymä luodaan säilöön. Kun servlet-luokan ilmentymä on luotu, jspInit () menetelmä otetaan käyttöön. Tätä menetelmää käytetään vain kerran JSP:n elinkaaren aikana. JSP-kohtaista alustusta varten sinun on ohitettava jspInit () menetelmä seuraavasti:

|_+_|

Kun jspInit () menetelmä on instantoitu, sinun on luotava tietokantayhteys ja luotava hakutaulukot tiedostoon.

    JSP-suoritus

Jälkeen jspInit () menetelmä on instantoitu, _jspService() menetelmää käytetään. Tämä menetelmä palvelee kaikkia asiakkaan verkkopalvelimelle lähettämiä pyyntöjä, kunnes JSP tuhoutuu.

The _jspService() menetelmä sisältää kaksi eri parametria, HttpServletRequest ja HttpServletResponse . Tämä menetelmä määritellään seuraavasti:

|_+_|

The _jspService() menetelmä vastaa kaikkiin asiakkaan pyyntöihin. Aina kun asiakas esittää pyynnön, _jspService() menetelmää käytetään. Se vastaa myös kaikkiin seitsemään HTTP-pyyntöön, kuten SAADA , POISTAA , LÄHETTÄÄ , LAITTAA jne. Voit ohittaa _jspService() menetelmä.

    JSP-siivous:

JSP:n elinkaaren viimeinen vaihe on Cleanup, jossa JSP tuhoutuu. Säiliö poistaa JSP:n eikä käytä sitä. Tämä menetelmä on sama kuin servletin tuhoamismenetelmä. Kun haluat sulkea tietokannan tiedostoja tai sulkea tietokantayhteyden, voit ohittaa jspDestroy() menetelmä. JspDestroy()-menetelmän syntaksi on seuraava:

|_+_|

Syntaksit JSP:ssä

Tässä osassa opimme useiden JSP-elementtien syntaksin, kuten toiminnot, käskyt, implisiittiset objektit, kommentit, lausekkeet jne. Tämä opetusohjelman osa on erittäin tärkeä JSP-alueen aloittelijalle. Seuraavassa on lyhyt opas JSP-syntaksista.

    Käsikirjoitus:

Scriptlet on yksi vankimmista JSP-elementeistä. Voimme tallentaa Java-lauseita, menetelmiä, muuttujia ja lausekkeita komentosarjasovelluksiin. Lisäksi se voi myös tallentaa minkä tahansa skriptikielen elementtejä. Alla on Scriptlet-elementti Syntaksi:

Syntaksi:

|_+_|

Yllä oleva Scriptlet-syntaksi voidaan kirjoittaa XML-vastineena seuraavassa muodossa:

|_+_|

Kaikki HTML-tunnisteet, JSP-elementit ja mikä tahansa muu teksti kirjoitetaan aina Scriptlet-tunnisteiden ulkopuolelle. Näemme suoran esimerkin JSP:stä HTML-sivun sisällä.

Esimerkki:

|_+_|

Tomcat-palvelin tulee asentaa työpöydällesi ja sen ympäristö on määritettävä tämän ohjelman suorittamista varten. Noudata yllä olevia ympäristöasetusten vaiheita Tomcat-palvelinympäristön määrittämiseksi. Tallennamme yllä olevan tiedoston nimellä firstjsp.jsp in C:apache-tomcat7.0.2webappsROOT kansio. Kun olet tallentanut tiedoston, siirry selaimeen ja kirjoita URL-osoite, http://localhost:8080/firstjsp.jsp. Yllä oleva koodi näyttää JSP-pikaoppaan ja järjestelmäsi IP-osoitteen.

    julistukset

Kun tarvitset muuttujia tai menetelmiä käytettäväksi Java-koodissa, JSP-ilmoitukset ilmoittavat ne. Ennen kuin käytät mitään muuttujaa tai menetelmää Java-koodissa, sinun on ilmoitettava se JSP-ilmoituksen avulla. JSP-ilmoitusten syntaksi on seuraava:

Syntaksi:

|_+_|

Yllä oleva syntaksi on kirjoitettu XML:ssä seuraavasti:

|_+_|

Katsotaanpa nyt esimerkkiä JSP-ilmoituksista.

Esimerkki:

|_+_|
    Ilmaisu

JSP:n lauseke sisältää komentosarjakielen lausekkeita. Nämä lausekkeet voidaan arvioida, muuntaa merkkijonoksi ja lisätä JSP-tiedostoon, jossa lauseke esiintyy. Voit käyttää JSP-lausekkeita tekstin kanssa, koska se voidaan muuntaa merkkijonoksi. JSP-lausekkeiden merkitseminen HTML-tunnisteiden sisään ei ole pakollista. Yksi tärkeä asia, joka on muistettava JSP-lauseketta kirjoitettaessa, on, että he eivät käytä puolipistettä lausekkeen päättämiseen.

Syntaksi:

|_+_|

Yllä oleva syntaksi voidaan kirjoittaa XML-vastineensa seuraavasti:

|_+_|

Seuraava esimerkki auttaa sinua ymmärtämään, kuinka JSP-lauseketta käytetään HTML:ssä.

|_+_|

Saat tulosteen nykyisenä päivämääränä ja kellonaikana seuraavasti:

|_+_|
    Kommentit

Kommentit ovat lausuntoja, joita ei ole tarkoitus toteuttaa. Ne on tarkoitettu vain ohjelmoijille ja lukijoille. JSP:ssä säilö ohittaa kommentit. Jos haluat piilottaa osan JSP-ohjelmasta, voit kommentoida sitä JSP-kommenttien avulla. Seuraava on JSP-kommenttien syntaksi.

Syntaksi:

|_+_|

Suoritamme alla olevan esimerkin, joka sisältää JSP-kommentin.

Esimerkki:

|_+_|

Tämän koodin tulos on annettu alla.

|_+_|

JSP:ssä on monia muita tapoja määrittää kommentteja. Alla on kuusi erilaista kommenttisyntaksia ja niiden käyttötarkoituksia:

Yllä olevaa kutsutaan HTML-kommentiksi ja selain jättää huomioimatta kommentin sisälle kirjoitetut merkit tai sanat.

    %>

tarkoittaa staattista literaalia.

    <\%

Yllä oleva kommentti viittaa myös staattiseen literaaliin.

Se määrittää attribuutissa käytetyn kaksoislainausmerkin.

    '

Se määrittää yhden attribuutissa käytetyn lainauksen.

    direktiivit

JSP:ssä on kolme direktiiviä, , , ja . The -direktiiviä käytetään määrittämään sivun attribuutteja, kuten virhesivu, komentosarjakieli ja puskurointivaatimukset. Toinen direktiivi, , sisältää tietyn tiedoston, jota käytetään JSP:n elinkaaren käännösvaiheessa. Lopuksi, -direktiiviä käytetään JSP-sivulla vaadittavien välilehtikirjastojen ja mukautettujen toimien ilmoittamiseen. Kun käytetään JSP-käskyjä, ne vaikuttavat servlet-luokan rakenteeseen. Tässä on JSP-direktiivin syntaksi.

|_+_|
    Toiminnot

Toiminnot ovat toimintoja, jotka on jo määritetty. JSP-toimintoja käytetään servlet-moottorin toiminnan ohjaamiseen. Nämä toiminnot lisäävät rakenteen XML-koodiin. JSP-toimintojen avulla voit lisätä minkä tahansa tiedoston dynaamisesti, luoda HTML-koodin Java-laajennukselle tai käyttää JavaBeans-komponentteja uudelleen. Alla on JSP-toimintojen syntaksi.

Syntaksi:

|_+_|

Luettelemme alla joitain merkittäviä JSP-toimintoja ja niiden kuvauksia:

    jsp:useBean: Tämä toiminto luo JavaBeanin tai tunnistaa sen.jsp:getProperty: Voit käyttää jsp:getProperty-toimintoa JavaBean-ominaisuuden lisäämiseen tuotteeseen.jsp:setProperty: Tämä toiminto korjaa JavaBean-ominaisuuden.jsp:include: Kun käyttäjä pyytää sivua, tämä toiminto lisää tiedoston.jsp:plugin: Se luo OBJECT- tai EMBED-tunnisteen ja selainkohtaisen koodin Java-laajennukselle.jsp:attribute: Tätä toimintoa käytetään määrittämään XML-elementin attribuutti, joka on dynaamisesti määritelty.jsp: eteenpäin: Tämä toiminto vie käyttäjän uudelle sivulle.jsp:element: Kun sinun on määritettävä XML-elementit dynaamisesti, käytä tätä toimintoa.jsp:teksti: Tämän toiminnon avulla käyttäjät voivat lisätä mallitekstin JSP-sivulle.jsp:body: Sitä käytetään määrittämään XML-elementin runko, joka määritellään dynaamisesti.
    Implisiittiset objektit

JSP:ssä on yhdeksän implisiittistä objektia, pyyntö, vastaus, istunto, ulos, pageContext, konfiguraatio, sovellus, sivu ja poikkeus. Kerro meille jokaisesta implisiittisestä objektista yksityiskohtaisesti täällä.

    pyyntö: Pyyntöobjekti on HttpServletRequest, joka liittyy asiakkaan pyyntöön.vastaus: Vastausobjekti on HttpServletResponse, joka liittyy palvelimen vastaukseen asiakkaalle.istunto: Tämä objekti sisältää HttpSessionin ja liittyy asiakkaan pyyntöobjektiin.ulos: Toinen implisiittinen objekti on poissa. Sitä käytetään tulosteen lähettämiseen asiakkaalle PrintWriter-objektin avulla.sivukonteksti: Tämä implisiittinen objekti määrittää palvelinkohtaisten ominaisuuksien sovelluksen. Yksi esimerkki palvelinkohtaisesta ominaisuudesta on JspWriters.config: Tämä objekti sisältää ServletConfig-objektin, jota käytetään JSP-sivun kanssa.sovellus: JSP:n ServletContext-objektia käytetään sovelluskontekstin kanssa.sivu: Sivun implisiittinen objekti kutsuu kaikkia servlet-luokan määrittämiä menetelmiä.Poikkeus: Nimetty JSP voi käyttää poikkeustietoja Exception-objektin avulla.
    Control-Flow lausunnot

JSP käyttää myös ohjausvirtalauseita, päätöksentekolausekkeita ja silmukoita. Tässä nähdään kuinka päätöksentekolausetta ja silmukoita käytetään JSP-ohjelmoinnissa.

Päätöksentekolausunnot

Päätöksentekolausuntoja käytetään päätettäessä käytettävissä olevista valinnoista. On kaksi tapaa toteuttaa päätöksentekolausunto. Yksi käyttää if_else-käskyä ja toinen vaihto-kirjain-käskyä. Jokainen if- ja else-ehto on suljettu erillisiin komentosarjakirjoihin. Tarkastellaan esimerkkiä if_else-käskystä JSP:ssä.

Esimerkki:

|_+_|

Tässä olemme ilmoittaneet 'month=3' ja määrittäneet ehdot if_else-lauseissa. Siksi tulos on:

|_+_|

Nyt otamme käyttöön vaihto…tapauslausekkeet. Alla oleva koodi on aivan erilainen kuin yllä oleva koodi, koska alla olevan koodin ehdot on määritelty yhdessä Scriptletissä.

Esimerkki:

|_+_|

Lähtö:

|_+_|

Loop-lauseet

Käytämme ohjelman silmukkaa tietyn käskyn toistamiseen tietyn määrän kertoja. JSP tukee kolmea erityyppistä silmukkaa, for, while ja do…while. Katsotaanpa alla esimerkkejä kustakin silmukkatyypistä.

Silmukalle:

|_+_|

Lähtö:

|_+_|

Silmukan aikana:

|_+_|

Lähtö:

|_+_|
    Operaattorit JSP:ssä

JSP:ssä käytetään kaikkia Javan tukemia loogisia ja aritmeettisia operaattoreita. Operaattoreita käytetään JSP-lausekkeissa niiden arvioimiseen. Korkeimman prioriteetin omaava operaattori arvioidaan ensin ja alhaisimman prioriteetin omaava operaattori arvioidaan lopuksi. Olemme listanneet kaikki JSP-operaattorit, joilla on korkein prioriteetti ensin, toiseksi korkein prioriteetti seuraavaksi ja niin edelleen.

    Postfix: Postfix-operaattoreita '() on kolme. '[]' ja '.'. Kaikilla näillä operaattoreilla on assosiatiivisuus vasemmalta oikealle.Unaarinen: Unaarioperaattoreita ovat '++', '-', '!' ja '~', joilla on assosiatiivisuus oikealta vasemmalle.Kertova: Kertomusoperaattoreita on kolme, '*', '/' ja '%'. Heillä on assosiatiivisuus vasemmalta oikealle.Lisäaine: Additiiviset operaattorit ovat '+' ja '-'. Heillä on myös assosiatiivisuutta vasemmalta oikealle.Siirtää: Vaihtooperaattorit, '>>', '>>>' ja '<<’ have left to right associativity. Suhteellisia: Relaatiooperaattoreita on neljä, '>', '=' ja '<=’. All of them have left to right associativity. Tasa-arvo: Tasa-arvooperaattorit ovat '==' ja '!=', joilla on assosiatiivisuus vasemmalta oikealle.Bitittain JA: Bittikohtaisella AND-operaattorilla (&) on assosiatiivisuus vasemmalta oikealle.Bitittainen XOR: Bittikohtaisella XOR-operaattorilla (^) on assosiatiivisuus vasemmalta oikealle.Bittikohtaisesti TAI: Bittikohtaisella OR-operaattorilla (|) on assosiatiivisuus vasemmalta oikealle.Looginen JA: Loogisella AND-operaattorilla (&&) on assosiatiivisuus vasemmalta oikealle.Looginen TAI: Loogisella TAI-operaattorilla (||) on assosiatiivisuus vasemmalta oikealle.Ehdollinen: Ehdollisella operaattorilla (?:) on assosiatiivisuus oikealta vasemmalle.Tehtävä: Tehtäväoperaattoreita on useita, kuten =, +=, -+, *=, %=, /=, >>=,<<=, &=, ^=, and |=. All these operators have the right to left associativity. Kohta: Pilkuoperaattorilla (') on assosiatiivisuus vasemmalta oikealle.

JSP tukee viittä erilaista literaalia tai tietotyyppiä, loogisia, kokonaislukuja, liukulukuja, merkkijonoja ja NULL-merkkejä. Boolen literaali palauttaa tuloksena joko tosi tai epätosi. Kokonaislukua käytetään numeron määrittämiseen ja liukulukua desimaalilukujen ilmoittamiseen JSP-ohjelmassa. JSP:n merkkijonotietotyyppi eroaa Java-kielen tietotyypistä. NULL-tietotyyppi määrittää nolla-arvon.

JSP-toiminnot

Olemme nähneet, mitä JSP:n toimet ovat. Olemme myös nähneet kaikki JSP-toiminnot yllä olevassa tiivistelmässä. Toiminnot ovat vain toimintoja, jotka säätelevät JSP-moottorin toimintaa. Muistakaamme JSP-toiminnon syntaksi.

Syntaksi:

|_+_|

JSP-toiminnot ovat jsp:include, jsp:useBean, jsp:setProperty, jsp:getProperty, jsp:forward, jsp:element, jsp:plugin, jsp:attribute, jsp:body ja jsp:text. Kaikilla näillä JSP-toiminnoilla on kaksi yhteistä osaa, tunnus ja laajuus.

ID-komponenttia käytetään yksilöimään kaikki JSP-toiminnot. Tätä JSP-toiminnon komponenttia käytetään JSP-ohjelmassa, joka määrittää suoritettavan toiminnon. Toinen elementti on Scope, jota käytetään JSP-toiminnon elinkaaren tunnistamiseen. Toiminnon tunnuksen avulla määritetään sen elinikä. Siksi ID-elementti ja Scope-elementti ovat suoraan verrannollisia. Scope-komponentti voi ottaa mahdolliset arvot: sivu, istunto, pyyntö tai sovellukset.

Toiminta

UseBean-toiminto JSP:ssä löytää ensin objektin, jolla on ID- ja Scope-attribuutit. Jos objektia ei löydy, tämä toiminto luo objektin kyseiselle tunniste- ja laajuusattribuutille. Seuraava on tapa ladata useBean-luokka.

|_+_|

Kun olet ladannut Bean-luokan, voit käyttää kahta muuta JSP-toimintoa, jsp:setProperty ja jsp:getProperty . Näitä toimintoja käytetään papujen ominaisuuksien muokkaamiseen ja hakemiseen. UseBean-toiminto käyttää kolmea erilaista attribuutteja , luokkaa , tyyppi , ja beanName. The luokkaa attribuutti määrittää papulle paketin nimen. Voit käyttää tyyppi elementti muuttujatyypin määrittämiseksi objektille, johon viittaamme. Lopuksi beanName antaa papun nimen. Instantiate()-menetelmä määrittää pavun nimen.

Toiminta

Toimintoa käytetään Pavun ominaisuuden määrittämiseen. Ainoa vaatimus pavun ominaisuuden asettamiseksi on, että papu on ensin määriteltävä. Toimintoa voi käyttää kahdella tavalla seuraavasti:

Ensimmäinen tapa on käyttää komponenttia ulkopuolelta ja sen jälkeen.

|_+_|

Yllä olevassa syntaksissa toiminto suoritetaan, vaikka uutta elementtiä ei ilmennettäisi tai olemassa olevaa ei löydy.

Toinen tapa määrittää toiminto on jsp:useBean-komponentin sisällä.

|_+_|

Toisin kuin ensimmäinen tapa käyttää , toinen tapa suoritetaan vain, jos olemassa oleva löytyy tai uusi instantioidaan.

jsp:setProperty sisältää neljä erilaista attribuuttia, nimi , omaisuutta , arvo , ja lopettaa . The nimi attribuutti antaa nimen papulle, jonka ominaisuus tulee asettaa. Toinen ominaisuus, omaisuutta , määrittää ominaisuuden. The arvo on omaisuudelle määritetty arvo ja lopettaa attribuutti määrittää ominaisuuden vastaanottaman parametrin nimen.

Toiminta

Olemme nähneet, että jsp:setProperty-toiminto asettaa ominaisuuden arvon. Tässä toiminta hakee kiinteistön arvon. Arvon hakemisen jälkeen se muuntaa sen merkkijonoksi ja lisää sen tulokseen.

Toiminnossa on vain kaksi attribuuttia, nimi ja ominaisuus. The nimi attribuutti määrittää papun nimen, jolla on tietty ominaisuus, ja omaisuutta attribuutti määrittää Beanin ominaisuuden nimen. Alla on toiminnon syntaksi:

|_+_|

Tarkastellaanpa yhtä esimerkkiä, joka sisältää esimerkki papu. Tallenna alla oleva tiedosto nimellä EsimerkkiBean.java .

|_+_|

Kun olet kirjoittanut tämän koodin EsimerkkiBean.java tiedosto, käännä se luodaksesi EsimerkkiBean.luokka tiedosto. Kopioi nyt EsimerkkiBean.luokka tiedosto tiedostoon C:apache-tomcat-7.0.2webappsWEB-INFclassesaction kansio. Varmista, että olet asettanut myös CLASSPATH muuttuja.

Sinun on nyt luotava main.jsp-tiedosto ja kirjoitettava siihen alla oleva koodi.

|_+_|

Lähtö:

|_+_|

Toiminta

Kun haluat lisätä Java-elementtejä JSP-ohjelmaan, käytetään toimintoa. Tämä toiminto tunnistaa myös selaintyypin ja lisää tai -tunnisteet JSP-ohjelmaan. Oletetaan, että tarvitset Java-komponentin, jonka laajennus ei ole saatavilla. Toiminto lataa Java-komponentin suorittamiseen tarvittavan laajennuksen, kuten sovelman tai papun. Plugin-toiminnossa on useita attribuutteja, jotka vastaavat HTML-tageja.

Alla on yksi suora esimerkki toiminnasta.

|_+_|

Yllä olevassa koodissa voimme havaita uuden elementin, . Kun komponentti epäonnistuu, tämä elementti lähettää virheen merkkijonon käyttäjälle.

Toimet, kuten , , ja määrittää XML-elementit. Kaikki XML-elementit luodaan ajon aikana, ei käännösaikana, eli ne luodaan dynaamisesti.

Toiminta

Kun haluat lopettaa nykyisen sivun toiminnon ja välittää sen toiselle resurssille, voit käyttää toiminta. Tämän toiminnon syntaksi annetaan seuraavasti:

|_+_|

Toimintoon liittyy vain yksi attribuutti, the sivu . Tällä sivulla on oltava sen resurssin suhteellinen URL-osoite, jonne toiminto siirretään. Resurssi voi olla JSP-sivu, Java Servlet ja staattinen sivu.

Nyt näemme yhden yksinkertaisen esimerkin toiminnasta. Luomme kaksi tiedostoa, päivämäärä.jsp ja main.jsp . Date.jsp-tiedosto näyttää nykyisen päivämäärän ja main.jsp-tiedosto sisältää toiminnon.

date.jsp-tiedosto

|_+_|

main.jsp-tiedosto

|_+_|

Sinun on tallennettava molemmat tiedostot ROOT-hakemistoon. Käytämme nyt main.jsp-tiedostoa tulosta varten. Se ei näytä main.jsp-tiedoston sisältöä; sen sijaan se näyttää sisällön date.jsp-tiedostosta, koska se on edelleenlähetetty tiedosto.

Lähtö:

|_+_|

Toiminta

Toiminnon avulla voimme kirjoittaa tekstimalleja tai asiakirjoja JSP-sivuille. Alla on toiminnon syntaksi:

|_+_|

Tässä malli sisältää vain tekstiä ja EL-lausekkeita. Mallissa ei voi olla muita elementtejä. Älä käytä XML-tiedostoissa lauseketta as ${whatever > 0} , koska tämä merkki ei ole sallittu tai laiton. Sen sijaan voit käyttää ${whatever gt 0} .

JSP-direktiivit

Syntaksiosiossa olemme nähneet, mitä JSP:n hakemistoja ovat. Täällä opimme JSP-hakemistot yksityiskohtaisesti. Direktiivit ovat tärkeitä JSP:ssä, koska ne ohjaavat ja ohjaavat JSP-säilöä tiettyjen JSP-käsittelyelementtien käsittelyä ja säätelyä varten. JSP-direktiivit vaikuttavat koko servlet-luokan rakenteeseen.

Syntaksi:

|_+_|

Ohjeiden attribuutit ovat avainarvomuotoa. Direktiiveissä voi olla useita attribuutteja, joista jokainen erotetaan pilkulla. Yllä olevassa syntaksissa voimme havaita välilyönnin '<%@’ ja direktiivin nimi sekä arvo ja '%>.' Nämä tilat ovat valinnaisia. Ei hätää, jos et lisää välilyöntejä niiden väliin. Olemme nähneet edellä, että direktiivitunnisteita on kolme, , , ja . Keskustellaan jokaisesta näistä direktiivitunnisteista yksityiskohtaisesti.

Sivudirektiivi

Sivudirektiivi antaa ohjeet säilön nykyiselle sivulle. Voit sisällyttää sivudirektiivin mihin tahansa JSP-ohjelmaasi. Yleensä sivudirektiiviä käytetään JSP-sivun yläosassa. Sivudirektiivin syntaksi on:

|_+_|

Yllä oleva syntaksi on kirjoitettu XML-kielellä alla esitetyllä tavalla:

|_+_|

Sivudirektiiviin liittyy 13 attribuuttia, kuten alla selitetään.

    autoFlush: Tämä attribuutti säätelee servlet-tulostuspuskurin toimintaa.virhesivu: errorPage näyttää toisen JSP:n URL-osoitteen, joka heittää Java tarkistamattomia ajonaikaisia ​​poikkeuksia.ulottuu: Luodun servletin tulee laajentaa määritettyä superluokkaa.puskuri: Puskurin attribuutti määrittää tulosvirran puskurointimallin.sisältötyyppi: Tämä attribuutti määrittää merkkikoodauksen mallin.isErrorPage: Se ehdottaa, onko nykyinen JSP-sivu URL-osoite, jonka määrittää toisen JSP-sivun errorPage-attribuutti.tiedot: Se määrittää merkkijonon, jota voidaan käyttää getServletInfo()-metodilla.Kieli: Tämä määrite ilmaisee JSP-sivuilla käytetyn ohjelmointikielen.ohitetaan: Se määrittää, ohitetaanko JSP-sivun EL-lauseke.tuonti: Tämä lauseke osoittaa kaikki paketit ja luokat, jotka on lisättävä JSP:hen. Javassa Java-tuontikäsky määrittää kaikki luokat ja paketit, jotka on sisällytettävä Java-ohjelmaan.isThreadSafe: Tämä attribuutti määrittää servletin ketjutusmallin.istunto: Istuntoattribuutti varmistaa, osallistuuko JSP-sivu HTTP-istuntoon vai ei.isScriptingEnabled: Tämä elementti määrittää, käytetäänkö komentosarjaelementtejä JSP-sivulla.

Sisällytä direktiivi

Käännösvaiheessa sisältää -direktiiviä käytetään sisällyttämään tiedosto JSP-sivulle. Tämän ohjeen tarkoituksena on myös ohjata säilö kaikkien ulkoisten tiedostojen yhdistämisestä JSP-sivulle. Koska sivudirektiivi sisältyy vain JSP-sivun yläosaan, sisällyttämistä voidaan käyttää missä tahansa sivulla.

Syntaksi:

|_+_|

Yllä oleva syntaksi on kirjoitettu XML:ssä seuraavasti:

|_+_|

Tässä tiedostonimi on suhteellinen URL-osoite. Jos et määritä tiedoston polkua, kääntäjä olettaa, että tiedostosi on JSP:n sijainnissa.

Taglib-hakemisto

Viimeinen hakemistotyyppi on taglib . Tämä hakemisto sisältää paljon tietoa JSP-sivusta, kuten käytetyt mukautetut tunnisteet, kirjaston sijainnin ja mukautettujen tunnisteiden löytämisen JSP-sivulta. Alla on taglib-hakemiston syntaksi.

|_+_|

Yllä oleva syntaksi voidaan kirjoittaa XML:ssä seuraavasti:

|_+_|

Attribuutti, vihaa , määrittää sijainnin, jonka säilö voi ymmärtää, ja etuliite attribuutti kertoo säilölle mukautettujen toimintojen koostumuksesta.

JSP-implisiittiset objektit

JSP-implisiittiset objektit ovat Java-objekteja. JSP-säilö antaa kehittäjille mahdollisuuden käyttää näitä implisiittisiä objekteja jokaisella JSP-sivulla ilman, että niitä on erikseen ilmoitettu. Näitä esineitä kutsutaan myös nimellä ennalta määritettyjä muuttujia . On yhdeksän erilaista implisiittistä objektia: pyyntö, vastaus, ulos, istunto, sovellus, sivu, sivukonteksti, konfiguraatio ja poikkeus.

Pyyntöobjekti

The javax.servlet.http.HttpServletRequest objekti luo ilmentymän nimeltä pyyntö esine. Kun asiakas tai käyttäjä pyytää tiettyä sivua, JSP-moottori luo uuden objektin, joka edustaa asiakkaan pyyntöä. The pyyntö Objekti tarjoaa useita tapoja poimia HTTP-otsikon tiedot, kuten HTTP-menetelmät, evästeet jne.

Vastausobjekti

The javax.servlet.http.HttpServletResponse objekti luo ilmentymän nimeltä vastaus esine. Koska JSP-moottori luo uuden objektin aina, kun käyttäjä pyytää tiettyä sivua, se luo myös objektin, joka edustaa sen vastausta. Vastausobjektin avulla voit sisällyttää JSP-ohjelmaan uusia evästeitä, kuten HTTP-tilakoodeja, leimoja jne.

Out Object

The javax.servlet.jsp.JspWriter objekti luo ilmentymän nimeltä ulos esine. JSP-moottori voi lisätä sisältöä asiakkaan pyytämään vastaukseen. The JspWriter objektilla on melkein samat menetelmät kuin tiedostossa java.io.PrintWriter luokkaa. Siinä on joitain lisämenetelmiä JspWriter puskurointiin käytetty objekti ja heittää IOExceptionin.

Sovellusobjekti

The javax.servlet.ServletContext luo ilmentymän nimeltä an sovellus objekti, joka toimii kääreenä ServletContext esine. Tämä objekti edustaa JSP-sivua. Kun JSP-sivu alustetaan, luodaan sovellusobjekti. Tämä objekti poistetaan, koska JSP-sivu tuhotaan jspDestroy()-menetelmällä.

Istuntoobjekti

The javax.servlet.http.HttpSession luo ilmentymän nimeltä istunto esine. Tämä objekti toimii samalla tavalla kuin se toimii Java-servleteissä. Istuntoobjektin ensisijainen tavoite on seurata istuntoa asiakkaan pyyntöjen välillä.

Poikkeusobjekti

Edellisen JSP-sivun poikkeuksen sisältävää käärettä kutsutaan poikkeusobjektiksi. Kun virhetila ilmenee, sen käsittelemiseen käytetään poikkeusobjektia.

Sivun objekti

Sivuobjekti tarjoaa viittauksen sivun esiintymään. Se edustaa koko JSP-sivua. ' Tämä' objekti ja sivuobjekti ovat synonyymejä toisilleen.

PageContext-objekti

The javax.servlet.jsp.PageContext luo ilmentymän nimeltä sivukonteksti esine. Kuin sivu esine, sivukonteksti objekti edustaa myös koko JSP-sivua. Käyttämällä pageContext-objektin attribuutteja voimme johtaa muita implisiittisiä objekteja, kuten sovellus , config , istunto , ja ulos . Tämä objekti tallentaa myös tietoja, kuten sivun laajuuden, errorPageURL-osoitteen ja puskurointitiedot. PageContext-objekti tukee 40 menetelmää.

Konfigurointiobjekti

The javax.servlet.ServletConfig luo ilmentymän nimeltä config esine. Tämä objekti toimii kääreenä ServletConfig esine. Käyttäjät voivat käyttää tätä objektia päästäkseen käsiksi servlet- tai JSP-moottorin alustusparametreihin. Alla olevaa menetelmää käytetään JSP-sivulla config-objektia käyttämällä.

|_+_|

JSP-asiakaspyyntö

Web-palvelin saa paljon tietoa, kun selain tai asiakas pyytää tiettyä verkkosivua. Näitä tietoja ei voi käyttää suoraan, koska ne kulkevat HTTP-pyynnön otsikon kautta. HTTP-otsikko sisältää useita elementtejä, jotka tallentavat tiedot, kun selain pyytää verkkosivua. Nämä elementit ovat hyväksy, hyväksy-merkkisarja, hyväksy-koodaus, hyväksy-kieli, yhteys, valtuutus, eväste, sisällön pituus, if-modified-sce, host, referrer, if-unmodified-sce ja user-agent.

HTTPServletRequest-objekti

Objekti javax.servlet.http.HttpServletRequest luo ilmentymän, jota kutsutaan pyyntöobjektiksi. Aina kun joku käyttäjä pyytää tiettyä sivua, JSP-moottori luo uuden objektin. Pyyntöobjektin ensisijainen tavoite on hakea HTTP-tiedot, kuten tiedot, HTTP-menetelmät, evästeet jne. Alla on joitain menetelmiä, jotka lukevat HTTP-otsikkotiedot JSP-ohjelmasta.

    Luettelo getAttributeNames(): Tämä menetelmä johtaa luetteloon, joka sisältää tälle pyynnölle käytettävissä olevat attribuuttien nimet.Eväste[] getCookies(): Kun asiakas lähettää pyynnön, se sisältää evästeobjekteja. Siksi tämä menetelmä tuottaa taulukon, joka sisältää kaikki nämä evästeobjektit.Luettelo getParameterNames(): Tämä menetelmä johtaa merkkijono-objektien luetteloimiseen. Tämä luettelo sisältää pyynnössä olevat parametrien nimet.Luettelo getHeaderNames(): Se tuottaa luettelon, joka sisältää tässä pyynnössä olevat otsikon nimet.HttpSession getSession (looginen luonti): HttpSession getSession(boolean create) -menetelmä johtaa tähän pyyntöön liittyvään nykyiseen HttpSessioniin. Jos istuntoa ei ole tällä hetkellä läsnä ja luomisarvo on tosi, tämä menetelmä johtaa uuteen istuntoon.HttpSession getSession(): Tämä menetelmä palauttaa pyyntöön liittyvän nykyisen istunnon. Jos istunto ei ole käytettävissä, tämä menetelmä luo uuden ja palauttaa sen.Objektin getAttribute (merkkijonon nimi): Se tuottaa arvon attribuutille, jolla on nimi objektina. Jos attribuutilla ei ole nimeä, se palauttaa NULL-arvon.Paikallinen getLocale (): Se palauttaa alueen, jossa asiakas hyväksyy sisällön.Merkkijono getAuthType(): Tämä menetelmä määrittää todennusmallin nimen, jota käytetään servletin säilyttämiseen. Jos JSP:tä ei säilytetä, se palauttaa NULL-arvon.ServletInputStream getInputStream(): ServletInputStream hakee pyynnön rungon binäärimuodossa.Merkkijono getContent Type(): Tämä menetelmä palauttaa pyynnön rungon MIME-tyypin. Jos tyyppiä ei tunneta, se palauttaa NULL-arvon.Merkkijono getCharacterEncoding(): Pyynnön rungossa oleva merkkikoodausnimi tuotetaan tällä menetelmällä.Merkkijono getHeader (merkkijonon nimi): Se palauttaa pyynnön otsikon arvon merkkijonomuodossa.Merkkijono getContextPath(): Se tuottaa pyynnön URI:n osan.Merkkijono getParameter(merkkijonon nimi): Tämä menetelmä johtaa pyyntöparametrin arvon merkkijono-muodossa. Jos pyynnön parametria ei ole olemassa, se palauttaa NULL-arvon.merkkijono getMethod(): String getMethod() -menetelmä tuottaa HTTP-pyynnön nimen, jota käytettiin nykyisen pyynnön kanssa.String getProtocol(): JSP:n pyynnöt käyttävät tiettyjä protokollia. Tämä menetelmä palauttaa protokollan nimen ja version.Merkkijono getPathInfo(): Kun asiakas tekee pyynnön, se lähettää URL-osoitteen. String getPathInfo() -menetelmä palauttaa lisätietoja URL-osoitteeseen liittyvästä polusta.Merkkijono getRemoteAddr(): Tämä menetelmä johtaa asiakkaan järjestelmän IP-osoitteeseen (Internet Protocol).Merkkijono getRemoteUser(): Se tuottaa pyynnön tehneen todetun asiakkaan sisäänkirjautumisen. Jos käyttäjää ei ole todennettu, se palauttaa NULL-arvon.Merkkijono getRemoteHost(): Jos pyynnön tehneen asiakkaan nimi halutaan noutaa, voidaan käyttää String getRemoteHost() -metodia.Merkkijono getRequestedSessionId(): Tämä menetelmä palauttaa istuntotunnuksen, jonka asiakas määrittää.Merkkijono getRequestURI(): Palauttaa pyynnön URL-osoitteen protokollan nimestä.Merkkijono[] getParameterValues(merkkijonon nimi): Tämä menetelmä palauttaa taulukon, joka sisältää merkkijono-objekteja. Nämä objektit sisältävät kaikkien pyynnössä olevien parametrien arvot.Merkkijono getServletPath(): Se palauttaa myös pyynnön URL-osoitteen.int getContentLength(): Palauttaa pyynnön rungon pituuden tavuina.boolean isSecure(): Se palauttaa loogisen arvon, joka määrittää, onko pyyntö tehty suojatun kanavan kautta vai ei.int getServletPort(): Tämä menetelmä antaa pyynnön portin numeron.int getIntHeader(merkkijonon nimi): Tämä menetelmä johtaa pyynnön otsikon arvon kokonaislukumuodossa.

Esimerkki HTTP-otsikkopyynnöstä

Tässä näemme yhden suoran esimerkin HTTP-otsikkopyynnöstä. HTTP-otsikkopyynnön esimerkissä käytämme getHeaderName() menetelmä HTTP-otsikkotietojen lukemiseen. Se tuottaa luettelon, joka sisältää pyynnön HTTP-otsikkotiedot. Metodi hasmoreElements() määrittää, milloin nextElement()-metodin tulee pysähtyä.

Esimerkki:

|_+_|

Kirjoita yllä oleva koodi main.jsp tiedosto ja käytä sitä lukeaksesi HTTP-pyynnön otsikon tiedot. Se antaa sinulle kaikki tiedot HTTP-pyynnön otsikosta, kuten isäntä, yhteys, välimuistin ohjaus, käyttäjäagentti, hyväksyntä, hyväksyntäkieli ja hyväksyntäkoodaus.

JSP-palvelinvastaus

Kun asiakas tai selain pyytää verkkosivua, verkkopalvelin vastaa HTTP-pyyntöön, jota kutsutaan vastaukseksi. Tämä vastaus sisältää tyhjän rivin, asiakirjan, tilarivin ja jonkin vastauksen otsikon. HTTP-vastaus näyttää tältä:

|_+_|

Yllä olevassa koodissa HTTP-versio on HTTP/1.1 , 200 on tilakoodi ja OK on viesti tilakoodiin. Vastausotsikoita on useita, ja web-palvelin lähettää selaimeen HTTP/1.1-version. Nämä vastausotsikot ovat välimuistin hallinta, salli, sisällön sijainti, yhteys, sisällön pituus, sisällön koodaus, sisällön kieli, vanheneminen, sisältötyyppi, sijainti, viimeksi muokattu, set-cookie, refresh ja yritä uudelleen jälkeen .

HttpServletResponse-objekti

Javax.servlet.http.HttpServletResponse luo ilmentymän, jota kutsutaan vastausobjektiksi. Tämän objektin luo verkkopalvelin, joka edustaa asiakkaalle lähetettyä vastausta. Vastausobjekti liittyy myös HTTP-otsikoiden luomiseen tarvittaviin liitäntöihin. Ohjelmoijat voivat lisätä uusia evästeitä, HTTP-tilakoodeja ja päivämääräleimoja JSP-ohjelmaan. Seuraavassa on joitain menetelmiä tai toimintoja, joita käytetään HTTP-vastausotsikon lisäämiseen servlet-ohjelmaan.

    Merkkijono encodeURL(merkkijono url): Tätä menetelmää käytetään koodaamaan tietty URL-osoite, joka sisältää istuntotunnuksen. Jos koodaus vaaditaan, tämä menetelmä lähettää URL-osoitteen muuttamatta.Merkkijono encodeRedirectURL(merkkijonon URL-osoite): SendRedirect-funktion URL-osoite on koodattu. Jos koodausta ei vaadita, URL-osoite pysyy muuttumattomana.boolean isCommitted(): Tämä funktio tuottaa loogisen arvon, joka määrittää, onko vastaus tehty.boolean sisältää Otsikko(merkkijonon nimi): Tuloksena on myös boolen arvo, joka määrittää, onko vastauksen otsikko, jolla on nimi, asetettu.void addHeader(merkkijonon nimi, merkkijonon arvo): Tämä toiminto sisältää vastauksen otsikon sen nimellä ja arvolla.void addDateHeader(merkkijonon nimi, pitkä päivämäärä): Se sisältää myös uuden vastauksen otsikon, jossa on nimi ja päivämäärä.void flushBuffer(): Tämä toiminto kirjoittaa puskurissa olevan sisällön väkisin asiakkaalle.void addIntHeader(merkkijonon nimi, int-arvo): Tämä toiminto sisältää uuden vastauksen otsikon, jonka nimi ja kokonaislukuarvo.void resetBuffer(): Se poistaa tai tyhjentää kaiken sisällön taustalla olevasta puskurista, mutta ei tyhjennä otsikoita ja tilakoodeja.void reset(): Tämä toiminto poistaa tai poistaa kaikki puskurissa olevat tiedot tilakoodin ja otsikoineen.void sendError(int sc, String msg): Tämä johtaa siihen, että virheviestillä on tietty tila ja se lähetetään asiakkaalle.void sendError(int sc): Tämä toiminto lähettää myös virheilmoituksen asiakkaalle tietyllä tilakoodilla poistamalla tiedot puskurista.void setBufferSize(int size): Tämä toiminto määrittää vastauksen rungon puskurin koon.void setIntHeader(merkkijonon nimi, int-arvo): Tämä toiminto asettaa vastauksen otsikon sen nimen ja tietyn kokonaisluvun arvon kanssa.

Esimerkki HTTP-otsikon vastauksesta

Tässä on esimerkki HTTP-otsikon vastauksesta, joka käyttää setIntHeader()-funktiota Refresh-otsikon asettamiseen.

Esimerkki:

|_+_|

Tallenna yllä oleva koodi tiedostonimellä, main.jsp . 4 sekunnin välein järjestelmän nykyinen aika tulee näkyviin alla olevan kuvan mukaisesti.

Lähtö:

|_+_|

HTTP-tilakoodi JSP:ssä

HTTP-pyynnöllä ja HTTP-vastauksella on sama rakenne:

  • Ensinnäkin se sisältää tilarivin, Carriage Return (CRLF) ja Line Feed. Rivinsyöttö tarkoittaa uutta riviä.
  • Seuraava on nolla tai useampi otsikkorivi ja Carriage Return (CRLF).
  • Sitten tulee tyhjä rivi, CRLF.
  • Lopuksi viestin runko on valinnainen. Viestin runko voi sisältää kyselyn tulosteen, kyselyn tiedot tai tiedoston.

Yllä olevassa osiossa olemme nähneet, miltä vastauksen otsikko näyttää.

Web-palvelin palauttaa joitain HTTP-koodeja ja niitä vastaavia viestejä asiakkaalle. Nämä HTTP-tilakoodit ja niiden viestit kuvataan seuraavassa osiossa.

Koodi Viesti
100Jatkaa
101Protokollan vaihto
200OK
201Luotu
202Hyväksytty
203Ei-viralliset tiedot
204Ei sisältöä
205Palauta sisältö
206Osittainen sisältö
300Useita vaihtoehtoja
301Liikkuu Pysyvästi
302Löytyi
303Katso Muut
304Ei muokattu
305Käytä välityspalvelinta
306Käyttämätön
307Väliaikainen uudelleenohjaus
400Huono pyyntö
401Luvaton
402maksua vaaditaan
403Kielletty
404Ei löydetty
405Menetelmä Ei Sallittu
406Ei hyväksyttävä
407Välityspalvelimen todennus vaaditaan
408Pyynnön aikakatkaisu
409Konflikti
410Mennyt
411Pituus vaaditaan
412Edellytys epäonnistui
413Pyyntökokonaisuus on liian suuri
414Pyyntö-url liian pitkä
415Mediatyyppiä ei tueta
417Odotus epäonnistui
500Sisäinen palvelinvirhe
501Ei toteutettu
502Huono portti
503palvelu ei saatavilla
504Yhdyskäytävän aikakatkaisu
505HTTP-versiota ei tueta

Kolmea eri menetelmää käytetään HTTP-tilakoodin asettamiseen alla kuvatulla tavalla:

    public void setStatus(int statusCode): Se asettaa tilakoodin, joka käyttää tilakoodin kokonaislukuarvoa argumenttina.public void sendRedirect(String url): Tämä toiminto luo vastauksen, jonka koodi on 302. Se luo myös Location-otsikon, joka määrittää uuden asiakirjan URL-osoitteen.public void sendError (int-koodi, merkkijonoviesti): Tämä toiminto lähettää 404 HTTP-tilakoodin selaimeen lyhytsanomalla.

Näemme yhden suoraviivaisen esimerkin, joka näyttää asiakkaalle 407-virheen tilakoodin.

Esimerkki:

|_+_|

Yllä oleva koodi näyttää 407 HTTP-tilakoodin ja Tarvitsee todennuksen viesti.

Lomakkeiden käsittely JSP:ssä

Usein meidän on siirrettävä tiedot selaimesta verkkopalvelimelle ja lopulta ohjelmaan. Selain käyttää kahta menetelmää, GET ja POST, siirtääkseen nämä tiedot verkkopalvelimelle. Näitä neljää menetelmää käytetään tietojen lukemiseen JSP:n avulla, getParameter() , getParameterValues() , getParameterNames() , ja getInputStream() .

GET-menetelmä

GET-menetelmää käytetään koodattujen käyttäjätietojen välittämiseen ja liittämiseen hakupyyntöön. Koodatut käyttäjätiedot ja sivupyyntö erotetaan ?-symbolilla. Tämä menetelmä on oletusarvoinen tapa lähettää käyttäjätiedot web-palvelimelle selaimesta. Se palauttaa merkkijonon, joka tulee olemaan läsnä Sijainti: laatikko selaimesta. Jos sinulla on luottamuksellisia tietoja, kuten salasanoja, älä käytä GET-menetelmää.

Esimerkki GET-menetelmästä URL-osoitteen avulla

Luodaan URL-osoite, joka välittää GetURLForm-ohjelmalle kaksi eri arvoa GET-menetelmällä.

|_+_|

Kirjoitamme alla olevan koodin main.jsp-tiedostoon. Olemme käyttäneet getParameter()-menetelmiä tietojen lukemiseen JSP:n avulla.

Esimerkki:

|_+_|

Lähtö:

|_+_|

Evästeiden käsittely

Mitä evästeet ovat? Evästeet ovat tekstitiedostoja, jotka ovat asiakkaan työpöydällä ja joita käytetään seurantatarkoituksiin. JSP tukee HTTP-evästeitä. Tässä näemme HTTP-evästeen anatomian, evästeen asettamisen tai nollauksen sekä evästeiden menetelmät.

Evästeen anatomia

Eväste on aina läsnä HTTP-otsikossa. Kun JSP asettaa evästeen HTTP-otsikkoon, sillä on seuraava rakenne.

|_+_|

Vuonna Set-Cookie-otsikko yllä voit tarkkailla nimi-arvo pari, Päivämäärä GMT:ssä a polku , ja verkkotunnus . Tämä nimi-arvo-pari on URL-muodossa. Toinen elementti yllä olevassa evästeessä on vanhenee , joka käskee selaimen unohtamaan tämän evästeen määritetyn päivämäärän ja kellonajan jälkeen.

Evästeiden menetelmät

Seuraavassa on joitain merkittäviä evästeisiin liittyviä menetelmiä sekä niiden kuvaukset.

    julkinen merkkijono getDomain(): Tämä toiminto hakee evästeen verkkotunnuksen.public void setDomain(merkkijonomalli): Voit määrittää evästeen verkkotunnuksen tällä toiminnolla.julkinen int getMaxAge(): Se hakee evästeen enimmäisiän. Ikä esitetään sekunneissa.public void setMaxAge(int expiry): Tämä toiminto asettaa ajan, joka kuluu ennen kuin eväste vanhenee.julkinen merkkijono getValue(): Se hakee evästeen arvon.julkinen merkkijono getName(): Se hakee evästeen nimen. Et voi muuttaa evästeen nimeä sen luomisen jälkeen.public void setValue(merkkijono uusi arvo): Tämä toiminto korjaa evästeen arvon.julkinen merkkijono getPath(): Se johtaa evästeeseen liittyvään polkuun.public void setPath (uri merkkijono): Tämä toiminto määrittää evästeen polun.julkinen merkkijono getComment(): Se johtaa kommentiin, joka määrittää evästeen tarkoituksen tai käytön. Jos evästeellä ei ole kommenttia, se palauttaa NULL-arvon.public void setSecure(boolen lippu): Se määrittää loogisen arvon, joka määrittää, lähetetäänkö eväste salatun yhteyden kautta.public void setComment (merkkijonon tarkoitus): Tämä toiminto määrittää evästeen kommentin ja määrittää sen tarkoituksen.

Kuinka asettaa eväste?

Evästeen asettamiseen on kolme suoraviivaista tapaa. Nämä menetelmät selitetään alla:

  1. Luo ensin evästeobjekti. Kutsu evästeen rakentaja ja kerro evästeen nimi ja vastaava arvo. Sekä nimi että arvo esitetään merkkijonossa.
|_+_|

Evästettä luodessasi muista, että nimessä ja arvossa ei saa olla välilyöntejä tai erikoissymboleita.

  1. Evästeen luomisen jälkeen asetamme nyt sille enimmäisiän käyttämällä setMaxAge toiminto.
|_+_|

Yllä oleva toiminto asettaa evästeiden enimmäisiän 24 tuntia.

  1. Käytä lopuksi vastaus.addCookie-komentoa lisätäksesi eväste HTTP-vastauksen otsikkoon.
|_+_|

Johtopäätös

JavaServer Pages tai Jakarta Server Pages (JSP) on tekniikka, jonka avulla kehittäjät voivat luoda dynaamista sisältöä tai verkkosivuja. JSP:llä on useita edistyneitä etuja, koska se on helppo ylläpitää, vaatii vähemmän koodia kuin servletit ja tarjoaa nopean kehityksen. Tämä artikkeli on nopea opas JSP:n oppimiseen aloitteleville käyttäjille.

Olemme käsitelleet kaikki JSP:n näkökohdat, joita aloittelevien kehittäjien oppiminen edellyttää. Ennen kuin aloitat JSP-ohjelman, määritä ensin Java-ympäristö ja Tomcat-luokkapolku. Tässä on täydellinen opetusohjelma kaikista olennaisista JSP-elementeistä.

Meillä on a Graafiteorian pikaopas joka kertoo yksityiskohtaisesti kaikista Graafiteoriaan liittyvistä yksityiskohdista.