Mikä on JSP Implicit -objekti?
- JSP-implisiittiset objektit luodaan JSP: n käännösvaiheessa servletiin.
- Näitä objekteja voidaan käyttää suoraan palvelumenetelmään kuuluvissa raidoissa.
- Säiliö luo ne automaattisesti, ja niihin pääsee käsiksi esineiden avulla.
Kuinka monta implisiittistä objektia on käytettävissä JSP: ssä?
Säilössä on 9 tyyppisiä implisiittisiä objekteja:
- ulos
- pyyntö
- vastaus
- kokoonpano
- sovellus
- istunto
- pageContext
- sivu
- poikkeus
Antaa opiskella yksitellen
ulos
- Out on yksi implisiittisistä objekteista tietojen kirjoittamiseksi puskuriin ja lähdön lähettämiseksi asiakkaalle vastauksena
- Out-objekti antaa meille pääsyn servletin lähtövirtaan
- Out on javax.servlet.jsp.jspWriter-luokan kohde
- Palvelinsovelluksen kanssa työskennellessä tarvitsemme kirjoituskoneobjektin
Esimerkki:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implisiittinen Guru JSP1 <% int num1 = 10; int num2 = 20;out.println ("num1 on" + num1);out.println ("num2 on" + num2);%>
Koodin selitys:
Koodiriviä 11-12 - ulostuloa käytetään tulostamaan tulostusvirtaan
Kun suoritamme yllä olevan koodin, saamme seuraavan tuloksen:
Tuotos:
- Lähdössä saadaan arvot num1 ja num2
Pyyntö
- Pyyntöobjekti on java.servlet.http.HttpServletRequest -ilmentymä ja se on yksi palvelumenetelmän argumenteista
- Säilö luo sen jokaiselle pyynnölle.
- Sitä käytetään tietojen, kuten parametrien, otsikkotietojen, palvelimen nimen, jne. Pyytämiseen.
- Se käyttää getParameter () -pyyntöparametriä.
Esimerkki:
Implicit_jsp2.jsp (lomake, josta pyyntö lähetetään guru.jsp)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implisiittinen Guru-lomake JSP2
Guru.jsp (missä toiminta suoritetaan)
Koodin selitys:
Koodirivi 10-13: Kun implicit_jsp2.jsp (lomake) pyyntö lähetetään, muuttujan käyttäjänimi käsitellään ja lähetetään guru.jsp: lle, joka on JSP: n toiminta.
Guru.jsp
Koodirivi 10-11: Se on toiminto jsp, jossa pyyntö käsitellään, ja käyttäjänimi otetaan lomakkeesta jsp.
Kun suoritat yllä olevan koodin, saat seuraavan tuloksen
Tuotos:
Kun kirjoitat testiä ja napsautat Lähetä-painiketta, saat seuraavan tuloksen "Tervetuloa testi".
Vastaus
- "Response" on luokan esiintymä, joka toteuttaa HttpServletResponse-käyttöliittymän
- Säilö luo tämän objektin ja siirtyy _jspservice () -menetelmään parametrina
- Säiliö luo "vastausobjektin" kutakin pyyntöä varten.
- Se edustaa vastausta, joka voidaan antaa asiakkaalle
- Vastaus-implisiittistä objektia käytetään sisältötyyppiin, evästeen lisäämiseen ja uudelleenohjaamiseen vastaussivulle
Esimerkki:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implisiittinen Guru JSP4 <% response.setContentType ("teksti / html"); %>
Koodin selitys:
Koodirivi 11: Vastausobjektissa voimme asettaa sisältötyypin
Tässä asetamme vain vastausobjektin sisältötyypin. Siksi tätä ei ole tuotettu.
Konfig
- "Config" on tyyppiä java.servlet.servletConfig
- Säiliö luo sen jokaiselle jsp-sivulle
- Sitä käytetään alustusparametrin saamiseen web.xml-tiedostoon
Esimerkki:
Web.xml (määrittää servletin nimen ja kartoituksen)
Implicit_jsp5.jsp (haetaan servlet-nimen arvo)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implisiittinen Guru JSP5 <% Merkkijono servletNimi = config.getServletName ();out.println ("Servlet-sovelluksen nimi on" + servlet-nimi);%>
Koodin selitys:
Sisään web.xml
Koodirivi 14-17: Web.xml-ohjelmassa on sovitettu servletit luokkiin.
Implicit_jsp5.jsp
Koodirivi 10-11: Jos haluat saada palvelinsovelluksen nimen JSP: ssä, voimme käyttää config.getServletName, joka auttaa meitä saamaan servletin nimen.
Kun suoritat yllä olevan koodin, saat seuraavan tuloksen:
Tuotos:
- Servlet-sovelluksen nimi on "GuruServlet", koska nimi on Web.xml-tiedostossa
Sovellus
- Sovellusobjekti (koodirivi 10) on javax.servlet.ServletContext, ja sitä käytetään kontekstitietojen ja määritteiden hakemiseen JSP: ssä.
- Sovellusobjekti luodaan yksi kontti sovellusta kohden, kun sovellus otetaan käyttöön.
- Servletkonteksti-objekti sisältää joukon menetelmiä, joita käytetään vuorovaikutuksessa servlet-säilön kanssa.Voimme löytää tietoja servlet-säilöstä
Esimerkki:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru Implicit JSP6 <% application.getContextPath (); %>
Koodin selitys:
- Yllä olevassa koodissa sovelluksen attribuutti auttaa saamaan JSP-sivun kontekstipolun.
Istunto
- Istunnossa on "httpsession" -objekti (koodirivi 10).
- Istuntoobjektia käytetään istunnon laajuuden määritteiden hankkimiseen, asettamiseen ja poistamiseen, ja sitä käytetään myös istuntotietojen hakemiseen
Esimerkki:
Implicit_jsp7 (määritteeksi on asetettu)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implisiittinen JSP <% session.setAttribute ("käyttäjä", "GuruJSP"); %> Napsauta tätä saadaksesi käyttäjänimen
Implicit_jsp8.jsp (getAttribute)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>implisiittinen Guru JSP8 <% String name = (String) session.getAttribute ("käyttäjä");out.println ("Käyttäjänimi on" + nimi);%>
Koodin selitys:
Implicit_jsp7.jsp
Koodirivi 11: asetamme määritteen käyttäjä istuntomuuttujaan, ja arvo voidaan noutaa istunnosta, jolle jsp kutsutaan (_jsp8.jsp).
Koodirivi 12: Kutsumme toista jsp: ää href: llä, josta saamme määritetyn käyttäjän attribuutin arvon.
Implicit_jsp8.jsp
Koodirivi 11: Saamme käyttäjäattribuutin arvon istuntoobjektista ja näytämme kyseisen arvon
Kun suoritat yllä olevan koodin, saat seuraavan tuloksen:
Kun napsautat käyttäjänimen linkkiä. Saat seuraavan tuloksen.
Tuotos:
- Kun napsautamme implicit_jsp7.jsp: ssä olevaa linkkiä, meidät ohjataan toiselle jsp-sivulle, eli (_jsp8.jsp) -sivulle ja saamme arvon käyttäjän määritteen (_jsp7.jsp) istuntoobjektista.
pageContext:
- Tämä objekti on tyyppiä pagecontext.
- Sitä käytetään määritteiden hankkimiseen, asettamiseen ja poistamiseen tietystä laajuudesta
Laajuuksia on 4 tyyppiä:
- Sivu
- Pyyntö
- Istunto
- Sovellus
Esimerkki:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implisiittinen Guru JSP9 <% pageContext.setAttribute ("opiskelija", "gurustudent", pageContext.PAGE_SCOPE);Merkkijonon nimi = (Merkkijono) pageContext.getAttribute ("opiskelija");out.println ("opiskelijan nimi on" + nimi);%>
Koodin selitys:
Koodirivi 11: asetamme määritteen käyttämällä pageContext-objektia, ja sillä on kolme parametria:
- Avain
- Arvo
- Soveltamisala
Yllä olevassa koodissa avain on opiskelija ja arvo on "herkkä", kun taas laajuus on sivun laajuus. Tässä laajuus on "sivu" ja se voi käyttää vain sivun laajuutta.
Koodirivi 12: Saamme attribuutin arvon käyttämällä pageContext
Kun suoritat yllä olevan koodin, saat seuraavan tuloksen:
Tuotos:
- Tulosteen teksti "opiskelijan nimi on ylellinen".
Sivu
- Sivun implisiittinen muuttuja sisältää parhaillaan suoritettavan servlet-objektin vastaavalle jsp: lle.
- Toimii tällä objektilla nykyiselle jsp-sivulle.
Esimerkki:
Tässä esimerkissä käytämme sivuobjektia sivun nimen saamiseksi toString-menetelmällä
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implisiittinen Guru JSP10 <% String pageName = sivu.toString ();out.println ("Sivun nimi on" + sivun nimi);%>
Koodin selitys:
Koodirivi 10-11: Tässä esimerkissä yritämme käyttää sivuobjektin toString () menetelmää ja yrittää saada JSP-sivun merkkijononimen.
Kun suoritat koodin, saat seuraavan tuloksen:
Tuotos:
- Output on merkkijononimi yllä olevalle jsp-sivulle
Poikkeus
- Poikkeus on heitettävän luokan implisiittinen kohde.
- Sitä käytetään poikkeusten käsittelyyn JSP: ssä.
- Poikkeusobjektia voidaan käyttää vain virhesivuilla.
Esimerkki:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1" isErrorPage = "true"%>Implisiittinen Guru JSP 11 <% int [] num1 = {1,2,3,4};out.println (numero1 [5]);%><% = poikkeus%>
Koodin selitys:
Koodirivi 10-12 - Siinä on joukko numeroita, eli num1, jossa on neljä elementtiä. Yritämme tulosteessa tulostaa taulukon viidennen elementin num1: stä, jota ei ole ilmoitettu matriisiluettelossa. Joten sitä käytetään jsp: n poikkeuskohteen saamiseen.
Tuotos:
Saamme ArrayIndexOfBoundsException-taulukon, josta saamme viidennen elementin num1-taulukon.