JavaServer Pages

JSP je technológia Java, ktorá pomáha softvérovým vývojárom obsluhovať dynamicky generované webové stránky, založené na HTML, XML alebo ostatných typoch dokumentov.
Na internete sa možno stretnúť s dvoma základnými typmi stránok, statické a dynamické. Obsah statickej stránky je rovnaký a to bez ohľadu na to aký užívateľ sa ku stránke prihlási. Naproti tomu dynamické stránky prispôsobujú svoj obsah užívateľovi t. j. reagujú na jeho impulzy, menia podľa jeho potrieb, pamätá si jeho nastavenie od minulej návštevy a dáva mu len informácie, ktoré potrebuje.
JSP patrí medzi technológiu tvorby dynamických stránok na webovom serveri; okrem nej sa možno stretnúť s CGI (Common Gateway Interface), ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor) a JavaScript (ide o technológiu používanú na strane klienta). JSP dokument je zmesou kódu Javy, XML, JDBC, HTML a JavaScriptu.
Technológia JSP.
Stránka JSP sa skladá z viacerých častí:
Príklad jednoduchej stránky JSP:
V „preklade“ to znamená:
Preklad JSP dokumentu.
Popis procesu prekladu dokumentu JSP:
Skriptovacie značky.
Dokument JSP obsahuje dva druhy značiek resp. elementov a to HTML a príkazy JSP. HTML elementy sú ohraničené špicatými zátvorkami (znakmi nerovnosti &lt; a &gt; ). Príkazy JSP špicaté zátvorky a znak %. Technológia JSP používa tri druhy skriptovacích elementov a to deklarácia, výrazy a skriplety.
Deklarácia.
Deklarácia sa vytvára tak, že sa zapíše v jazyku Java medzi značky &lt;%! a %&gt;.
Príklad:
Príklad vytvorí premennú „pocet dátového typu int“ a inicializuje sa na hodnotu 100. Hodnota premennej sa môže meniť. K inicializácii dokumentu dochádza veľmi zriedka (možno ho pokladať za jednorazovú činnosť).
Výrazy (Expressions).
Výraz JSP vzniká napísaním výrazu v jazyku Java a uzatvorenia ho medzi značky &lt;%= a %&gt;.
Výraz JSP sa vyhodnotí ako 101. Pri návšteve stránky sa na miesto premennej počet doplní jej hodnota t. j. 100. Dôležité je, že výraz „pocet + 1“ nemení hodnotu premennej „pocet“, ktorá ostáva na hodnote 100.
Skriplety.
Skriplet časť kódu v jazyku Java ohraničený znakmi &lt;% a %&gt;.
Alebo
Rozdiel medzi skripletom a deklaráciou možno popísať nasledovne. Pri deklarácií je hodnota „pocet“ inicializovaná na 100, to však prebieha len pri inicializácií dokumentu (čo nie je až tak často). Skriplet je prevedený pri každej požiadavke na stránku, t. j. premenná i je nastavená na 100, ale každou návštevou sa znižuje až kým jej hodnota nie je 0.
Komentáre.
Komentár je časť textu, ktorý neprekladá ani kontajner JSP ani webový prehliadač. 
Príklady komentárov:
Platnosť a životnosť identifikátorov.
Základné definície
Názov (identifikátor) je slovo použité k označeniu niečoho napr. názvy premenných, názvy metód a pod. 
Platnosť názvu je oblasť kódu, v ktorej je možné daný názov používať pre označenie určitého významu.
Životnosť názvu je dynamický interval, ktorý určuje, ako dlho bude názov rezervovaný v pamäti. 
Lokálna premenná metódy (premenná s platnosťou metódy) je deklarovaná vo vnútri metódy jazyka Java. Platnosť tejto premennej sa obmedzuje iba na danú metódu. Životnosť premennej sa obmedzuje na jedno volanie metódy. Ak je metóda volaná po druhýkrát, je premenná znovu vytvorená a opätovne inicializovaná.
Premenná na úrovni triedy (premenná s platnosťou triedy) je deklarovaná mimo metódy. Platnosť tejto premennej môže zahrňovať mnoho metód. Premenná prežije zavolanie jedinej metódy a pokiaľ je metóda zavolaná po druhýkrát, premenná sa znovu nevytvára a nie je znovu inicializovaná.
Príklad:
Premenná j je deklarovaná vnútri metódy mojaMetoda () t. j. premenná j je lokálnou premennou tejto metódy. Prístup k tejto premennej má len kód vnútri danej metódy. Premenná i nie je deklarovaná vnútri metódy t. j. má teda platnosť triedy, čo znamená, že ju možno používať na celej JSP stránke. Hodnota premennej i má platnosť triedy, takže jej hodnota je inicializovaná len pri inicializácií dokumentu JSP, tak pri ďalšej návšteve táto hodnota sa mení.
Premenná i nie je deklarovaná vo vnútri metódy. Má teda platnosť triedy. Je ju možné používať na celej stránke. Premenná i má rovnako ako iné premenné s platnosťou triedy, dlhú životnosť. Existuje tak dlho, dokiaľ nie je odstránená stránka JSP, na ktorej bola definovaná. Hodnota 30 je inicializovaná iba pri inicializácií dokumentu JSP. Keď premenná i objaví na stránke po druhýkrát, rovná sa jej hodnota už číslu 31 a nie 30.