JSP Elements Tag

โšก ร„lykรคs yhteenveto

JSP Elements Tag -rakenteet mahdollistavat kehittรคjien upottamisen Java suoraan sivulle deklaroinnin, skriptiletin, lausekkeen ja kommenttitagien avulla, mikรค mahdollistaa muuttujien luomisen, logiikan suorittamisen, dynaamisen tulosteen ja luettavaan dokumentaatioon yhdessรค palvelimen renderรถimรคssรค tiedostossa.

  • ๐Ÿ“ Ilmoitustunniste: <%! %> -tagi mรครคrittelee muuttujia ja metodeja servlet-luokkatasolla service-metodin ulkopuolella.
  • โš™๏ธ Scriptlet-tunniste: <% %>-tagi sijoittaa Java lauseet, jotka suoritetaan _jspservice()-funktion sisรคllรค jokaisella asiakaspyynnรถllรค.
  • ๐Ÿ”ข Lausekkeen tunniste: <%= %> -tagi arvioi aritmeettisen tai loogisen lausekkeen ja kirjoittaa sen tuloksen tulosteeseen.
  • ๐Ÿ’ฌ Kommenttitunniste: <%โ€“ โ€“%>-tagi piilottaa muistiinpanot sekรค sรคilรถstรค ettรค selaimesta, keeping koodi dokumentoitu ja siisti.
  • ๐Ÿš€ Suorita palvelimella: Tรคydellinen JSP-sivu pakataan WAR-tiedostoon ja otetaan kรคyttรถรถn web-palvelimella, kuten JBossilla.
  • ๐Ÿ“ Hakemistorakenne: JSP-tiedostot sijaitsevat WEB-INF-kansion ulkopuolella, kun taas mรครคritys- ja kirjastotiedostot pysyvรคt WEB-INF-kansiossa.

JSP-tunnisteet

Tรคssรค opetusohjelmassa opimme JSP:n perustunnisteet ja kuinka lisรคtรค kommentteja JSP:hen. Tรคmรคn lisรคksi luomme myรถs JSP:n ja suoritamme sen palvelimella.

JSP:n julistus

  • Ilmoitustunniste on osa Java koodi muuttujien, menetelmien ja luokkien ilmoittamiseen. Jos ilmoitamme muuttujan tai menetelmรคn ilmoitustunnisteen sisรคllรค, se tarkoittaa, ettรค ilmoitus tehdรครคn servlet-luokan sisรคllรค, mutta palvelumenetelmรคn ulkopuolella.
  • Voimme ilmoittaa staattisen jรคsenen, esiintymรคn muuttujan (voi ilmoittaa numeron tai merkkijonon) ja menetelmiรค ilmoitustunnisteen sisรคllรค.

Ilmoitustunnisteen syntaksi:

<%!  Dec var  %>

Tรคssรค Dec var on menetelmรค tai muuttuja ilmoitustunnisteen sisรคllรค.

Esimerkiksi:

Tรคssรค esimerkissรค aiomme kรคyttรครค ilmoitustunnisteita

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Declaration Tag</title>
</head>
<body>
<%! int count =10; %>
<% out.println("The Number is " +count); %>
</body>
</html>

Koodin selitys:

Code Rivi 10: Tรคssรค kรคytรคmme ilmoitustunnistetta muuttujan mรครคrรคn alustamiseksi 10:een.

Kun suoritat yllรค olevan koodin, saat seuraavan tulosteen:

JSP:n julistus

lรคhtรถ:

Ilmoitustunnisteessa ilmoitettu muuttuja tulostetaan tulosteena.

JSP Scriptlet

  • Scriptlet-tunniste mahdollistaa kirjoittamisen Java koodi JSP-tiedostoon.
  • JSP-sรคilรถ siirtรครค kรคskyjรค _jspservice()-metodissa samalla kun se luo servletin jsp:stรค.
  • Jokaista asiakkaan pyyntรถรค varten kutsutaan JSP:n palvelumenetelmรค, joten komentosarjan sisรคllรค oleva koodi suoritetaan jokaiselle pyynnรถlle.
  • Komentosarja sisรคltรครค java-koodin, joka suoritetaan aina, kun JSP:tรค kutsutaan.

Scriptlet-tunnisteen syntaksi:

<% java code %>

Tรคssรค <%%> tagit ovat scriplets-tunnisteita ja sen sisรครคn voimme sijoittaa Java-koodin.

Esimerkiksi:

Tรคssรค esimerkissรค otamme Scriptlet-tunnisteet, jotka sisรคltรคvรคt Java-koodin.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Scriplet</title>
</head>
<body>
<% int num1=10;
   int num2=40;
   int num3 = num1+num2;
   out.println("Scriplet Number is " +num3);
%>
</body>
</html>

Koodin selitys:

Code Rivi 10โ€“14: Scriptlet-tageissa, joissa otamme kaksi muuttujaa num1 ja num2 . Kolmas muuttuja num3 otetaan, joka summautuu numeroiksi num1 ja num2. Tulos on num3.

Kun suoritat koodin, saat seuraavan tulosteen:

JSP Scriptlet

lรคhtรถ:

Komentosarjan numeron tulos on 50, joka on num1:n ja num2:n summa.

JSP-lauseke

  • Lauseketunniste arvioi siihen asetetun lausekkeen.
  • Se kรคyttรครค tallennettuun sovellukseen tallennettuja tietoja.
  • Sen avulla voidaan luoda ilmauksia, kuten aritmeettisia ja loogisia.
  • Se tuottaa komentosarjattoman JSP-sivun.

Syntaksi:

<%= expression %>

Tรคssรค lauseke on aritmeettinen tai looginen lauseke.

Esimerkiksi:

Tรคssรค esimerkissรค kรคytรคmme lauseketta

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Expression</title>
</head>
<body>
<% out.println("The expression number is "); %>
<% int num1=10; int num2=10; int num3 = 20; %>
<%= num1*num2+num3 %>
</body>
</html>

Koodin selitys:

Code Rivi 12: Tรคssรค kรคytรคmme lauseketunnisteita, joissa kรคytรคmme lauseketta kertomalla kaksi numeroa eli num1 ja num 2 ja lisรครคmรคllรค sitten kolmannen luvun eli num3.

Kun suoritat yllรค olevan koodin, saat seuraavan tulosteen:

JSP-lauseke

lรคhtรถ:

Lausekeluku on 120, jossa kerromme kaksi lukua num1 ja num2 ja lisรครคmme tรคmรคn luvun kolmannella numerolla.

JSP kommentit

Kommentit ovat niitรค, joissa JSP-sรคiliรถ haluaa jรคttรครค huomiotta tietyt tekstit ja lausunnot.

Kun haluamme piilottaa tietyn sisรคllรถn, voimme lisรคtรค sen kommenttiosioon.

Syntaksi:

<% -- JSP Comments %>

T hรคnen tunnisteitaan kรคytetรครคn kommentointiin JSP:ssรค, ja JSP-sรคilรถ jรคttรครค huomiotta.

Tรคmรค on HTML-kommentti, jonka selain ohittaa

Esimerkiksi:

Tรคssรค esimerkissรค kรคytรคmme JSP-kommentteja

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Comments</title>
</head>
<body>
<%-- Guru Comments section --%>
<% out.println("This is comments example"); %>

</body>
</html>

Koodin selitys:

Code Rivi 10: Tรคssรค lisรครคmme koodiin JSP-kommentteja selittรคmรครคn, mitรค koodilla on. JSP-sรคilรถ on ohittanut sen

Kun suoritat yllรค olevan koodin, saat seuraavan tulosteen:

JSP kommentit

lรคhtรถ:

Saamme tulosteen, joka tulostetaan println-menetelmรคllรค. Sรคilรถ ohittaa kommentit

Yksinkertaisen JSP-sivun luominen

  • JSP-sivulla on HTML-teksti Java koodi siihen
  • Luomme yksinkertaisen JSP-sivun, joka sisรคltรครค ilmoitukset, skriptit, lausekkeet ja kommenttitunnisteet.

Esimerkiksi:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP Example</title>
</head>
<body>

<%-- This is a JSP example with scriplets, comments , expressions --%>
<% out.println("This is guru JSP Example"); %>
<% out.println("The number is "); %>
<%! int num12 = 12; int num32 = 12; %>
<%= num12*num32 %>
Today's date: <%= (new java.util.Date()).toLocaleString()%>
</body>
</html>

Koodin selitys:

Code Rivi 1: Tรคssรค kรคytรคmme direktiivejรค, kuten kieli, contentType ja pageEncoding. Kieli on Java ja sisรคltรถtyyppi on text/html vakiomerkistรถllรค ISO 8859. Sivun koodaus on vakiomerkkisarja.

Code Rivi 11: Tรคssรค kรคytรคmme JSP-kommentteja lisรคtรคksemme kommentteja JSP:hen

Code Rivi 14: Tรคssรค ilmoitamme muuttujat num12 ja num32, jotka alustetaan 12:lla.

Code Rivi 15: Tรคssรค kรคytรคmme lauseketta, jossa kerromme kaksi lukua num12 ja num32.

Code Rivi 16: Tรครคltรค haemme tรคmรคn pรคivรคn pรคivรคmรครคrรครค pรคivรคmรครคrรคobjektin avulla.

Kun suoritat yllรค olevan koodin, saat seuraavan tulosteen

Yksinkertaisen JSP-sivun luominen

lรคhtรถ:

Tulostamme tรครคllรค,

  • Tรคmรค on esimerkki guru JSP:stรค.
  • Numero on num12*num32 (12*12).
  • Tรคmรคn pรคivรคn pรคivรคmรครคrรค on nykyinen pรคivรคmรครคrรค

Kuinka ajaa yksinkertaista JSP-sivua

  • JSP:tรค voidaan kรคyttรครค verkkopalvelimilla tai sovelluspalvelimilla.
  • Tรครคllรค kรคytรคmme verkkopalvelinta, ja voimme ottaa sen kรคyttรถรถn palvelimella, joka sulkee sen sotasovelluksessa.
  • Voimme luoda JSP:n sovelluksessa (sota).

Tรคmรค on sovellus, jolla on seuraava hakemistorakenne, ja sovellus on rakennettava.

Suorita yksinkertainen JSP-sivu

Tรคmรค sovellus on rakennettava, ja seuraava viesti tulee nรคkyviin, kun rakentaminen on onnistunut:

Suorita yksinkertainen JSP-sivu

Kun sovellus on rakennettu, sovellus on suoritettava palvelimella.

Jos haluat suorittaa JSP:n verkkopalvelimella, napsauta hiiren kakkospainikkeella IDE-projektia (pimennys kรคytetรครคn tรคssรค tapauksessa) ja vaihtoehtoja on monia. Valitse vaihtoehto ajaa palvelimella. Se nรคkyy alla olevassa kuvakaappauksessa;

Kaaviosta selitetรครคn seuraavat kohdat:

  1. On kaksi vaihtoehtoa joko valita palvelin tai lisรคtรค palvelin manuaalisesti tรคhรคn sovellukseen. Tรคssรค tapauksessa olemme jo lisรคnneet JBoss-palvelimen sovellukseen, joten valitsemme olemassa olevan palvelimen.
  2. Kun olemme valinneet palvelimen, palvelinvaihtoehto nรคytetรครคn kohdassa 2, minkรค palvelimen haluamme valita. Tรคlle sovellukselle voi olla mรครคritetty useita palvelimia. Voimme valita yhden palvelimen kaikista nรคistรค vaihtoehdoista
  3. Kun tรคmรค vaihtoehto on valittu, napsauta lopetuspainiketta ja sovellus toimii kyseisellรค palvelimella.

Suorita yksinkertainen JSP-sivu

Alla olevissa kuvakaappauksissa voit huomata, ettรค JSP-ohjelmamme suoritetaan ja testisovellus otetaan kรคyttรถรถn JBoss palvelin merkitty punaiseen ruutuun.

Suorita yksinkertainen JSP-sivu

JSP:n hakemistorakenne

Hakemistorakenteessa on juurikansio, jossa on kansio WEB-INF, jossa on kaikki asetustiedostot ja kirjastotiedostot.

JSP-tiedostot ovat WEB-INF-kansion ulkopuolella

JSP:n hakemistorakenne

JSP:n hakemistorakenne

Esimerkiksi:

Tรคssรค esimerkissรค on testisovellus, jolla on seuraava kansiorakenne:

JSP:n hakemistorakenne

UKK

Mรครคrittelytagi sijoittaa muuttujat ja metodit servlet-luokkatasolle service-metodin ulkopuolelle. Skriptilet-tagi sijoittaa koodia service-metodin sisรครคn, jotta se suoritetaan jokaisen asiakaspyynnรถn yhteydessรค.

Ei. Scriptlet-sekoitus Java merkintรถjรค ja niitรค on vaikea yllรคpitรครค. Nykyaikaiset JSP-sivut suosivat Expression Languagea, JSTL:รครค ja tagikirjastoja, jotka pitรคvรคt esityksen erillรครคn liiketoimintalogiikasta ja parantavat luettavuutta.

Lauseketunniste sisรคltรครค yhden arvon, jonka sรคilรถ muuntaa merkkijonoksi ja kirjoittaa tulosteeseen. Puolipisteen lisรครคminen muuttaa sen lausekkeeksi, joka on virheellinen lauseketunnisteiden sisรคllรค.

Tekoรคly voi luoda deklaraatio-, skripti- ja lauseketunnisteita pelkรคstรค kuvauksesta, merkitรค syntaksivirheitรค ja ehdottaa puhtaampia vaihtoehtoja, kuten JSTL:รครค, hel:รครคping Aloittelijat rakentavat oikeita JSP-sivuja nopeammin.

Kyllรค. Tekoรคlytyรถkalut voivat refaktoroida paljon skriptilettejรค sisรคltรคviรค sivuja Expression Language- ja JSTL-kielille, mikรค vรคhentรครค upotettuja tiedostoja. JavaKehittรคjien tulisi tarkistaa tuloste varmistaakseen, ettรค logiikka ja laajuustoiminta pysyvรคt samoina.

Tiivistรค tรคmรค viesti seuraavasti: