Računala Windows Internet

Uvjetne konstrukcije. Radno okruženje Eclipse. Java identifikatori

Sintaksa Java jezika temelji se na sintaksi jezika C, ali postoje sljedeće razlike:

identifikatori:

  • pri pisanju identifikatora mogu se koristiti i latinična slova i slova nacionalnih abeceda.
  • identifikator može sadržavati znak dolara.

Evo osnovnih pravila sintakse

  • Velika i mala slova smatraju se različitim znakovima, pa su J i j potpuno različite varijable.
  • Prilikom pisanja identifikatora koriste se latinična slova i slova nacionalnih abeceda, brojevi, donja crta i znakovi dolara. Identifikator ne može započeti brojem ili sadržavati razmake. Duljina identifikatora nije ograničena, ali radi čitljivosti programa trebate nastojati koristiti kratka i smislena imena.
  • Postoje dvije vrste komentara.
    • Komentar u više redaka. Komentari u tekstu zatvoreni su u zagrade poput
      / * ovo je tekst komentara * /
      i mogu se unijeti bilo gdje, osobito unutar operatora.
    • Komentar u jednom retku. Pogledaj komentar:
      // ovo je tekst komentara - vrijedi samo do kraja retka
  • Svaka rečenica završava s "; ".
  • Na liniju se može postaviti više iskaza.
  • Vitičaste zagrade () označavaju složeni iskaz. Svi operatori postavljeni između njih tretiraju se kao jedan operater.
  • Sve korištene vrste moraju biti opisane prije prve uporabe. Oglasi se mogu nalaziti bilo gdje u programu.
  • Znak je zatvoren u jednostruke navodnike, niz u dvostrukim navodnicima.

Ključne riječi

Ključne riječi imaju posebno značenje za prevoditelja i te se riječi mogu koristiti samo u smislu u kojem su definirane. Rezervirane riječi ne mogu se koristiti kao prilagođeni identifikatori.

Svaka promjena varijabli jedne mijenja varijable druge. Kada se objekt deklarira, dohvaća se adresa memorijskog mjesta, što je obično adresa prvog memorijskog mjesta u rezerviranom području koje sadrži sve podatke vezane za objekt. Svaka manipulacija ovim objektom odnosi se na ovu adresu. Usporedba dviju instanci objekta vrši se pozivanjem na te instance.

Primjer Java koda nabrajanja

To je proces koji dodaje funkcionalnost klasi bez potrebe za prepisivanjem cijelog koda u toj klasi. Nova klasa nasljeđuje sve podatke i metode klase iz koje je izvedena. Tada je potrebno da u nadređenoj klasi postoji konstruktor bez parametra. Na primjer, možete koristiti drugačiji pristup crtanju čvrstih pravokutnika od onog o kojem je već bilo riječi, na primjer stvaranjem nove pravokutne klase koja nasljeđuje pravokutnu nadređenu klasu. prema podacima pravokutnika, on mora biti javan, što je u suprotnosti s načelom enkapsulacije.

V. Java jezik sljedeće su riječi rezervirane ključne riječi

Rezervirane riječi pravi, lažno i null nisu ključni, ali se ne mogu koristiti kao identifikatori u programu.

Ključne riječi mogu se podijeliti u grupe:

Rješenje je definirati varijable klase sa zaštićenim modifikatorom. Članovima klase koja je zaštićena zaštićenim pristupa se iz izvedenih klasa, ali ne i iz drugih klasa. Kliknite u kontekstu apleta da biste ga aktivirali. Mnogi jezici dopuštaju prosljeđivanje argumenata prema vrijednosti ili adresi. Budući da stvarne adrese argumenata nisu poznate metodi, metoda ih ne može mijenjati.

Što je uvjetna struktura?

U slučaju prosljeđivanja argumenta na adresu metode, varijabla argumenta se prosljeđuje metodi: izmjene u vrijednosti varijable metodom su neposredne i konačne. Uvjetne strukture nazivaju se naredbe za provjeru je li uvjet istinit ili ne. Ove uvjetne strukture mogu se povezati sa strukturama koje se ponavljaju u skladu s provedbom uvjeta, te se strukture nazivaju strukture petlje.

Primitivni tipovi podataka

byte, short, int, long, char, float, double, boolean

Petlje i grane

if, else, switch, case, default, while, do, break, continue, for

Iznimke

pokušaj, uhvati, konačno, baci, baci

Opsezi privatno, zaštićeno, javno
Deklaracija, uvoz

uvoz, paket, klasa, sučelje, proširuje, implementira, statičko, konačno, ništavno, sažetak, izvorno

Kraći način izvođenja testa

Sintaksa ovog izraza. Moguće je provesti ispitivanje s mnogo manje ozbiljnom strukturom zahvaljujući sljedećoj strukturi, koja se naziva ternarni operater.

  • Uvjet mora biti između zagrada.
  • Kad je uvjet istinit, izvršava se lijevi iskaz.
  • Kad je uvjet neistinit, izvršava se ispravna naredba.
Kada je testni izraz jednak jednoj od vrijednosti koja slijedi nakon polja, izvršava se sljedeći popis naredbi.

Osnovne jezične operacije

Zadana ključna riječ prethodi popisu operatora koji će se izvršiti ako izraz nikada ne ocijeni jednu od vrijednosti. Te se strukture ponekad nazivaju ponavljajuće se upute ili iteracije. Najčešći način izvođenja petlje je stvaranje brojača i zaustavljanje petlje kada brojač prelazi određenu vrijednost.

Kreirajte, vratite se, nazovite

novo, povratak, ovo, super

Višestrukost

sinkronizirano, hlapljivo

Rezervirane ključne riječi
Poseban termin

instanceof, nabrojati, tvrditi, prolazno, strogofp

Znakovi rada

Znakovi operacija namijenjeni su označavanju aritmetičkih, logičkih i drugih operacija. Najčešće korišteni znakovi rada prikazani su u tablici.

Ova naredba izvršava popis naredbi sve dok je uvjet ispunjen. Može proći jedna ili više vrijednosti za ciklus bez završetka ciklusa. Sintaksa za ovaj izraz je "kontinuirana", obično je povezana s uvjetnom strukturom, inače će linije između ove naredbe i kraja petlje biti zastarjele.

Relevantne rasprave pronađene na forumu

Srećom, zahvaljujući kontinuiranoj uputi, ovu vrijednost možete razmotriti zasebno, a zatim nastaviti petlju! Naprotiv, možda će biti potrebno prerano zaustaviti petlju zbog stanja drugačijeg od onog navedenog u zaglavlju petlje. Imat ćemo tri aspekta identifikatora koje morate shvatiti. Važeći identifikatori: pravila koja koristi prevoditelj za utvrđivanje je li ime valjano. Trebali biste ih znati i koristiti u svojim budućim aplikacijama. ... Identifikator je naziv koji identificira klasu, varijablu ili metodu u programu.

Operacija Kratki opis
+ Dodatak
- Oduzimanje
* Množenje
/ Podjela
= Zadatak
++

Povećanje (povećanje za 1); x ++; ekvivalent x = x + 1;

--

Smanjenje (smanjenje za 1); x--; ekvivalent x = x-1;

+= y + = x; ekvivalent y = y + x;
-= y- = x; ekvivalent y = y-x;
*= y * = x; ekvivalent y = y * x;
/= y / = x; ekvivalent y = y / x;
%= y% = x; ekvivalent y = y% x;
== Jednaki
!= nejednak
> Više
< Manji
>= više ili jednako
<= manji ili jednak
% ostatak cjelobrojne podjele
&& logično I
|| logično ILI
! logička negacija NE

Bilješka.

Evo pravila koja morate znati. U praksi ne postoji ograničenje broja znakova koje identifikator može sadržavati. Ne možete koristiti ključnu riječ kao identifikator u svojim programima.

  • Ne mora početi brojem.
  • Dolje se nalazi potpuni popis dostupnih ključnih riječi.
Evo nekoliko primjera valjanih osobnih iskaznica.

Evo nekoliko primjera nevažećih identifikatora, trebali biste znati zašto. Ako se slažete s ovim konvencijama i počnete kodirati, oni mogu smanjiti vaše napore na testiranju, održavanju i poboljšanju. Također razmislite o kovrčavim zagradama, ponekad su napisane na istom retku, što kôd čini nečitkim.

          1. Podjela
            • Ako se podijele dva cijela broja, imamo rezultat cjelobrojne podjele:
              5/3 = 1. No, ostatak cjelobrojne podjele je 5% 3 = 2.
            • ako je jedan od argumenata realan broj, tada imamo uobičajenu podjelu:
              5 / 2.0 = 2.5
          2. Povećanje i smanjivanje

Postoje dva oblika prirasta: prefiksni oblik, postfiksni oblik.

Također, imena obično moraju biti kombinacija imena glagola. ... To su samo varijable privatne instance. Jedini način na koji mogu pristupiti izvan razreda je putem metoda klase. Metode koje mijenjaju vrijednost svojstva nazivaju se postavljači, a metode koje dobivaju vrijednost svojstva nazivaju se dobivači. Imajte na umu da ne morate imati varijablu oznaku label u svom razredu. Ime svojstva zaključuje se iz dobavljača i postavljača, a ne iz varijabli u vašoj klasi. Model događaja često se koristi u grafičkim aplikacijama, kada se pokrene događaj poput klika, drugi objekti koji mogu imati lijekove, kada se ovaj događaj dogodi, dobivaju informacije.

Oblik prefiksa

Prvo će se varijabla povećati (ili smanjiti) za jedan, a zatim će se izvršiti daljnji izračuni s novom vrijednošću.

int a = 5; int b = 5; int y = 10 + --a; int z = 10 + ++ b; System.out.println ("a =" + a); System.out.println ("b =" + b); System.out.println ("y =" + y); System.out.println ("z =" + z);

Izlaz će biti:

a = 4
b = 6
y = 14
z = 16

U ovom primjeru varijabla a prvo se smanjuje za 1, b se povećava za jedan, a zatim se izražava izraz za y i z.

Ti se objekti nazivaju slušatelji. Nazivi metoda koji se koriste za dodavanje slušatelja s izvorom događaja moraju koristiti prefiks dodavanja nakon kojeg slijedi vrsta slušatelja. Nazivi metoda koji se koriste za uklanjanje slušatelja moraju koristiti prefiks remove nakon kojeg slijedi vrsta slušatelja, koristeći ista pravila kao metoda dodavanja zapisa. Vrsta slušatelja za dodavanje ili uklanjanje mora se proslijediti kao argument metodi. Upamtite da je važeći identifikator za varijablu također važeći identifikator za metodu ili klasu.

Postfix obrazac

Za postfix oblik, izraz se prvo vrednuje sa starom vrijednošću varijable, a vrijednost varijable se povećava (ili smanjuje) za jedan nakon što se izraz procijeni.

int a = 5; int b = 5; int y = 10 + a--; int z = 10 +b ++; System.out.println ("a =" + a); System.out.println ("b =" + b); System.out.println ("y =" + y); System.out.println ("z =" + z);

Izlaz će biti:
a = 4
b = 6
y = 15
z = 15

Drugim riječima, morate prihvatiti da je identifikator zakonit čak i ako ne slijedi standarde imenovanja. Ovdje imamo posla s jednim od najvažnijih poglavlja: uvjeti su još jedan temeljni koncept programiranja. U razredu se čitanje i izvršavanje izvode sekvencijalno, odnosno redak po redak. Uz uvjete, možemo upravljati različitim scenarijima bez čitanja cijelog koda. Brzo ćete shvatiti da su svi vaši projekti samo nizovi i odnosi uvjeta i ciklusa.

Prijeđimo direktno na srž stvari. Prije nego što možete stvoriti i procijeniti uvjete, morat ćete znati da ćemo za to koristiti takozvane "logičke operatore". Oni se uglavnom koriste u okruženju za procjenu različitih mogućih slučajeva. znati.

Izraz će se vrednovati sa starom vrijednošću varijabli. Nakon vrednovanja izraza za y i z promjenjiva a smanjuje se za 1, promjenjivo b povećat će se za jedan.

Logičke operacije

Ako je prva vrijednost u operaciji "&&" netočna, tada se druga vrijednost ne provjerava, u operaciji "ili", obrnuto, ako je prva vrijednost istinita, onda se druga ne provjerava.

Za potonje ćete bolje razumjeti primjer koji će biti naveden na kraju ovog poglavlja. To vam omogućuje da navedete uvjet "Ista borba kao prethodna." ... Zamislite program koji traži od korisnika da unese relativni cijeli broj. Uvjetne strukture omogućit će nam upravljanje s ova tri scenarija. Struktura ovih uvjeta je sljedeća.

Upotrijebimo naš mali primjer. U ovom slučaju, naš razred prikazuje "pozitivan broj". Objasnimo što se događa. Kad ste nam predstavili uvjetnu strukturu, stavljate kovrčave zagrade, a ne stavljate ih tamo. Zapravo, kovrčavi zagradi prisutni su u "normalnoj" uvjetnoj strukturi, ali kada se kod unutar jednog od njih sastoji od samo jednog retka, zavojiti zagradi postaju izborni.

Tablica istina "&&", "||"

A B A & B A || B
Netočno Netočno Netočno Netočno
Netočno Pravi Netočno Pravi
Pravi Netočno Netočno Pravi
Pravi Pravi Pravi Pravi

Evo primjera.

To se zove uvlačenje! Bit će vam od velike pomoći da vas nađemo u svojim budućim programima. Zamislite dvije sekunde da imate program od 700 redaka sa 150 uvjeta i da je sve napisano uz lijevi rub. Bit će teško razlikovati testove od koda. Prije nego nastavite, trebali biste znati da ne možete provjeriti jednakost niza! O ovoj ćemo točki raspravljati kasnije. Sada ćemo koristiti Booleove operatore koje smo vidjeli na početku, provjeravajući je li dati broj u poznatom intervalu.

Na primjer, provjerit će je li cijeli broj između 50 i. Ovaj operator vas upoznaje s konceptom postavljenog sjecišta. Ovdje imamo dva uvjeta, od kojih svaki definira skup. Dakle, uvjet će pregrupirati brojeve koji pripadaju ova dva skupa, odnosno brojeve od 51 do 99, uključujući. Razmotrite interval koji želite definirati.

boolean a = istina; boolean b = true; boolean c = false; boolean d = false; System.out.println ("true && true =" + (a && b)); // true true result true System.out.println ("true && false =" + (a && c)); // true false rezultat je false System.out.println ("false && true =" + (c && a)); // rezultat lažne ture false System.out.println ("false && frue =" + (c && d)); // false false false false false System.out.println ("true || true =" + (a || b)); // true true result true System.out.println ("true || false =" + (a || c)); // true false rezultat true System.out.println ("false || true =" + (c || a)); // rezultat lažne ture true System.out.println ("false || false =" + (c || d)); // false false rezultat je false

Prekidač se uglavnom koristi kada želimo uvjete "a la carte". Uzmimo primjer ankete s dva pitanja: za svako od njih možemo dobiti samo 0 ili 10 bodova, što nam daje tri bilješke i prema tome tri moguće ocjene, na primjer.

Dođite povremeno ponovno pročitati ovo poglavlje. ... U ovom slučaju koristimo prekidač kako bismo izbjegli nepotrebno ponavljanje i malo olakšali kôd. Ovdje su operacije koje izvodi ovaj izraz. Klasa procjenjuje izraz nakon prekidača, u protivnom prelazi na sljedeću karticu itd. Da biste bolje razumjeli korisnost ove upute, uklonite sve stanke; i sastaviti svoj program. Trojni uvjeti su prilično složeni i relativno se malo koriste. Posebnost ovih uvjeta je da su uključena tri operanda, ali i da se ti uvjeti koriste za dodjeljivanje podataka varijabli.

Izlaz će biti:

istina && istina = istina
true && false = netočno
false && true = lažno
false && false = lažno
istina || istina = istina
istina || false = true
lažno || istina = istina
lažno || false = false

JSP stranice imaju kombiniranu sintaksu: kombinacija standardne sintakse koja je usklađena sa specifikacijom HTML -a i JSP sintakse definirane specifikacijom Java Server Pages. JSP sintaksa definira pravila za pisanje JSP stranica koja se sastoje od standardnih HTML oznaka i JSP oznaka.

Ovako ovakva struktura izgleda. Ukrasite ono što se događa. Zadatak je valjan: možete koristiti maksimalnu varijablu. Također možete izvršiti izračune prije nego utjecate na vrijednosti. Ne zaboravite da vrijednost koju ćete dodijeliti varijabli mora biti iste vrste kao i vaša varijabla. Također imajte na umu da vas ništa ne sprječava da umetnete 3D uvjet u drugo trostruko stanje.

Uvjeti dopuštaju izvršavanje samo određenih dijelova koda. ... Ako naredbeni blok sadrži više od jednog retka, morate ga okružiti kovrčavim zagradama kako biste jasno identificirali početak i kraj naredbenog bloka. Da biste mogli postaviti uvjet, morate usporediti varijable pomoću logičkih operatora.

JSP stranice, osim HTML oznaka, sadrže JSP oznake sljedećih kategorija:

JSP direktive

JSP direktive pružati globalne informacije o posebnim zahtjevima poslanim poslužitelju i pružiti informacije potrebne tijekom faze prevođenja. Direktive se uvijek stavljaju na početak stranice JSP -a prije svih ostalih oznaka, tako da parser(parser) JSP je prilikom raščlanjivanja teksta na samom početku istaknuo globalne upute. Dakle, JSP Engine (JSP runtime) raščlanjuje kôd i stvara servlet od JSP -a. Direktive su poruke u JSP spremnik.

U stanje možete staviti koliko god želite booleovih usporedbi. Uloga petlji je ponavljanje istih operacija više puta. Svi programi, ili gotovo svi, trebaju takvu funkciju. Koristit ćemo petlje da dopustimo programu da počne ispočetka, čekamo određenu radnju korisnika, pregledamo niz podataka itd.

Petlja radi sve dok je uvjet zadovoljen. Stoga ćemo se poslužiti pojmovima iz prethodnog poglavlja! To znači gotovo "koliko god". Zatim imamo uvjet: omogućuje vam zaustavljanje petlje. Petlja je korisna samo ako je možemo kontrolirati, pa je stoga natjerati da ponavlja instrukciju određeni broj puta.

Sintaksa JSP direktive kako slijedi:

<%@ директива имяАтрибута="значение" %>

Sintaksa zadatka direktivama u XML -u:

JSP direktiva može imati više atributa. U ovom slučaju, direktiva se može ponoviti za svaki od atributa. Istodobno, parovi "Naziv atributa = vrijednost" može se nalaziti pod jednom direktivom s razmakom kao separatorom.

Postoje tri vrste direktiva:

  • stranica (stranica)
  • taglib (biblioteka oznaka)
  • uključi (uključi)

Direktiva JSP stranice

Direktiva JSP stranice definira svojstva JSP stranice koja utječu na prevoditelja. Redoslijed atributa u direktivi stranica nije važno. Kršenje sintakse ili prisutnost neprepoznatih atributa dovodi do pogreške u prijevodu. Primjer direktive stranica sljedeći kôd može poslužiti:

<%@ page buffer="none" isThreadSafe="yes" errorPage="/error.jsp" %>

Direktiva page izjavljuje da ova JSP stranica ne koristi spremanje u međuspremnik, da je moguće da više korisnika pristupi ovoj stranici JSP u isto vrijeme, te da se stranica s pogreškom naziva error.jsp.

Direktiva JSP stranice može sadržavati podatke o stranici:

<%@ page info = "JSP Sample 1" %>

Popis mogućih atributa direktive stranica predstavljene u tablici.

Naziv atributaZnačenje Opis
Jezik Crta Određuje jezik koji se koristi u skriptama datoteka JSP, izrazima ili bilo kojoj datoteci za uključivanje, uključujući tijelo prevedenog koda. Zadano je "java"
produžava Crta Određuje nadklasu za generirani servlet. Ovaj atribut treba koristiti s velikom pažnjom jer je moguće da poslužitelj već koristi superklasu.
uvoz Crta Definicija paketa za uvoz, na primjer:
<%@ page import="java.util.* %>
Sjednica istina ili laž Značenje pravi(zadano) označava da je unaprijed definirana varijabla sjednica(tip HttpSession) mora biti vezan uz postojeću sesiju, ako postoji, u protivnom se stvara nova sesija i veže se na nju. Značenje lažno određuje da se sesije neće koristiti i pokušava pristupiti varijabli sjednica rezultirat će pogreškom pri prevođenju JSP stranice u servlet
Pufer ništa ili veličina međuspremnika u kB. Postavlja veličinu međuspremnika za JspWriter. Zadana vrijednost ovisi o postavkama poslužitelja i ne smije prelaziti 8 kB. Ako je vrijednost nijedan izlaz ide izravno na objekt ServletResponse
autoFlush istina ili laž Određuje treba li se međuspremnik automatski isprazniti kada se prelije ili dođe do pogreške. Zadano je pravi
isThreadSafe istina ili laž Značenje pravi(zadano) navodi normalni način izvođenja servleta, gdje se više zahtjeva istovremeno obrađuje pomoću jedne instance servleta, pod pretpostavkom da je autor sinkronizirao pristup varijablama te instance. Lažna vrijednost signalizira da bi servlet trebao naslijediti SingleThreadModel(model s jednim navojem) gdje sekvencijalni ili istodobni zahtjevi obrađuju zasebne instance servleta
info Crta Definira niz podataka o JSP stranici kojima će se pristupiti pomoću metode Servlet.getServletInfo ()
errorPage Crta Vrijednost atributa je URL stranice koji bi se trebao prikazati u slučaju mogućih pogrešaka koje uzrokuju iznimke
isErrorPage istina ili laž Signalizira može li se ova stranica koristiti za rješavanje pogrešaka za druge JSP stranice. Zadano je lažno
contentType Crta Određuje kodiranje za JSP stranicu i odgovor, te MIME tip JSP odgovora. Zadana vrijednost vrste sadržaja je tekst / html, kodiranja - ISO-8859-1. Na primjer:
contentType = "text / html; charset = ISO-8859-1"
pageEncoding Crta Određuje kodiranje znakova JSP stranice. Zadano je charset iz atributa contentType ako je tamo definirano. Ako je vrijednost charset u atributu contentType nedefinirano, vrijednost pageEncoding postavljen je jednak ISO-8859-1

JSP taglib direktiva

JSP direktiva taglib izjavljuje da dana JSP stranica koristi biblioteku oznaka, jedinstveno je identificira pomoću URI -a i preslikava prefiks oznake s kojim se knjižnica može djelovati. Ako spremnik ne može pronaći biblioteku oznaka, dolazi do fatalne pogreške prijevoda.

Direktiva taglib ima sljedeću sintaksu:

<%@ taglib uri="URI uključene biblioteke oznaka"prefiks =" naziv prefiksa" %>

Prefiks " naziv prefiksa"koristi se kada se poziva na knjižnicu. Primjer korištenja biblioteke oznaka mytags:

<%@ taglib uri="http://www.taglib/mytags" prefix="customs" %> . . .

U ovom primjeru knjižnica oznaka ima URI "http: //www.taglib/mytags", niz je dodijeljen kao prefiks običajima koji se koristi na JSP stranici pri pristupu elementima biblioteke oznaka.

JSP uključuju direktivu

JSP Direktiva uključuju omogućuje vam umetanje teksta ili koda tijekom prevođenja JSP stranice u servlet. Sintaksa direktive uključuju izgleda ovako:

<%@ include file="Relativni URI stranice koji treba uključiti" %>

Direktiva uključuju ima jedan atribut - datoteka... Uključuje tekst navedenog izvora u JSP datoteci. Ova se direktiva može koristiti za postavljanje standardnog zaglavlja autorskih prava na svaku stranicu JSP -a:

<%@ include file="copyright.html" %>

JSP spremnik pristupa datoteci include. Ako se datoteka uključivanja promijenila, spremnik može ponovno kompajlirati JSP stranicu. Direktiva uključuju tretira resurs, kao što je JSP stranica, kao statički objekt.

Dati URI obično se tumači u odnosu na JSP stranice na kojoj se veza nalazi, ali kao i kod svakog drugog relativnog URI -a, sustavu možete reći položaj resursa od interesa u odnosu na početni direktorij WEB poslužitelja tako da stavljajući URI prefiks znakom "/". Sadržaj datoteke za uključivanje tretira se kao običan JSP tekst i stoga može uključivati ​​elemente kao što su statički HTML, elementi skripte, direktive i radnje.

Mnoge web stranice koriste malu navigacijsku traku na svakoj stranici. Zbog problema s korištenjem HTML okvira, ovaj se zadatak često rješava postavljanjem male tablice na vrh ili u lijevu polovicu stranice, čiji se HTML kôd ponavlja mnogo puta za svaku stranicu web stranice. Direktiva uključuju- ovo je najprirodniji način rješavanja ovog problema, koji programera spašava od noćne more rutine kopiranja HTML -a u svaku zasebnu datoteku.

Od direktive uključuju povezuje datoteke tijekom prijevoda stranice, a zatim nakon izmjena na navigacijskoj traci potrebno je ponovno prevođenje svih JSP stranica pomoću nje. Ako se priložene datoteke često mijenjaju, možete upotrijebiti radnju jsp: uključi koji povezuje datoteku prilikom pristupa JSP stranici.

Direktiva o JSP deklaracijama

JSP direktiva deklaracije namijenjene su definiranju varijabli i metoda u skriptnom jeziku, koje se kasnije koriste na stranici JSP. Sintaksa deklaracije izgleda ovako:

<%! код Java %>

deklaracije nalaze se u bloku deklaracije i pozivaju se u bloku izraza JSP stranice. Kôd u deklaracijskom bloku obično je napisan na Javi, ali aplikacijski poslužitelji mogu koristiti sintaksu drugih skripti. oglasi ponekad se koriste za dodavanje dodatne funkcionalnosti pri radu s dinamičkim podacima dobivenim iz svojstava JavaBeans komponenti. Primjeri oglasi predstavljeni su u tablici.

Deklaracije može sadržavati više redaka, primjerice u donjem kodu za izračunavanje vrijednosti funkcije činjenica (int n), koji bi trebao biti jednak 1 kada je n manje od 2 i n! s pozitivnom vrijednošću n;

<%! public static int fact (int n) { if (n <= 1) return 1; else return n * fact (n - 1); } %>

deklaracije ne proizvode nikakav izlaz na standardni izlaz van... Varijable i metode deklarirane u deklaracijama inicijaliziraju se i stavljaju na raspolaganje skriptletima i drugima oglasi u vrijeme inicijalizacije stranice JSP.

Skripte

skripte uključuju različite dijelove koda napisane na skriptnom jeziku definiranom u direktivi Jezik... Isječci koda moraju biti u skladu sa sintaksičkim konstrukcijama jezika skripte, tj. obično sintaksu Java jezika. skripte imaju sljedeću sintaksu:

<% текст скриптлета %>

Ekvivalent sintakse skripta za XML je:

tekst skripte

Ako je u tekstu skripta potrebno je koristiti niz znakova%> točno kao kombinaciju znakova, a ne kao oznaku - znak kraja skripta, umjesto slijeda%>, koristite sljedeću kombinaciju znakova% \>.

JSP specifikacija daje jednostavan i jasan primjer skripta koji dinamički mijenja sadržaj JSP stranice tijekom dana.

<% if (Calendar.getInstance ().get (Calendar.AM_PM) == Calendar.AM) {%>Dobro jutro<% } else { %>Dobar dan<% } %>

Valja napomenuti da je kod unutra skripta umetnut kao zapisan i sav statični HTML tekst (tekst predloška) prije ili poslije skripta pretvara pomoću operatora ispisati... To znači da skripte ne moraju sadržavati dovršene Java komade te da komadići ostavljeni otvoreni mogu utjecati na statički HTML izvan skripta.

Skripte imaju pristup istim automatski definiranim varijablama kao i izrazi. Stoga, na primjer, ako postoji potreba za prikazom bilo kojih podataka na stranici, morate koristiti varijablu van.

<% String queryData = request.getQueryString (); out.println ("Дополнительные данные запроса: " + queryData); %>

Izrazi izrazi

Izrazi izraze na JSP stranici, izvršni izraz napisan na skriptnom jeziku navedenom u deklaraciji jezika (obično Java). Proizlaziti izraze JSP, koji je potrebnog tipa String, šalje se standardnom izlaznom toku van pomoću trenutnog objekta JspWriter... Ako je rezultat izraze ne može se baciti Niz, ili dolazi do pogreške u prijevodu ako je problem otkriven u fazi prevođenja, ili dolazi do iznimke ClassCastException ako je nedosljednost otkrivena tijekom izvršavanja zahtjeva. Izraz ima sljedeću sintaksu:

<%= текст выражения %>

alternativna sintaksa za JSP izraze kada koristite XML:

izrazni tekst

Izvršni nalog izraze na stranici JSP slijeva nadesno. Ako izraz pojavljuje se u više atributa za vrijeme izvođenja, a zatim se izvodi slijeva nadesno u toj oznaci. Izraz mora biti potpuni izraz u određenoj skripti (obično Java).

izraze izvode se dok je HTTP protokol pokrenut. Vrijednost izraza pretvara se u niz i uključuje u odgovarajuće mjesto u JSP datoteci.

Izrazi obično se koriste za izračunavanje i prikaz string prikaza varijabli i metoda definiranih u bloku deklaracije stranice JSP -a ili izvedenih iz JavaBeansa koji su dostupni iz JSP -a. Sljedeći kod izraze služi za prikaz datuma i vremena zahtjeva stranice:

Trenutno vrijeme:<%= new java.util.Date () %>

Kako bismo pojednostavili izraze postoji nekoliko unaprijed definiranih varijabli koje možete koristiti. Najčešće korištene varijable su:

  • zahtjev, HttpServletRequest;
  • odgovor, HttpServletResponse;
  • sesija, HttpSession - povezan sa zahtjevom, ako postoji;
  • izašao, PrintWriter - međuspremničku verziju tipa JspWriter za slanje podataka klijentu.