JSP (JavaServer Pages) je technologie, která je určena především pro vývoj dynamických HTML stránek a je založená na jazyce Java. Původně byla vyvinuta v Sun, následně byla koupena firmou Oracle. Při tvorbě je využíváno především HTML a Java, která se vkládá do HTML kódu. Na straně serveru se pak vloží vygenerovaný HTML soubor namísto Javy, jedná se tak o podobný princip jako v případě PHP. Příponou souborů je .jsp.

Životní cyklus JSP

Ve chvíli, kdy je odeslaný request ze strany klienta na server si web container ověří existenci Servletu k dané JSP stránce. V případě jeho absence Servlet vytvoří. Pokud již existuje, zkontroluje stáří obou souborů a je-li JSP stránka novějšího data, založí nový Servlet. V opačném případě pro maximální výkon použije stávající Servlet. Životní cyklus se pak sestává ze sedmi etap:

  • Překlad JSP
  • Kompilace JSP
  • Načtení odpovídající Servlet třídy – classloading
  • Příprava Servlet třídy – instantiation
  • Inicializace – jspInit()
  • Zpracování requestu – jspService()
  • Zahození objektu – jspDestroy()

Výhody použití JSP

  • Výstup je standardní HMTL. Výstup JSP stránky je standardní HTML a díky tomu je kompaktní a univerzálně čitelný v jakémkoliv prohlížeči.
  • Podpora Javy, vychází z HTML.
  • Jednoduchý jazyk.
  • Podporuje standardní nástroje pro webový vývoj.
  • Snadná kombinovatelnost se statickými templaty. JSP stránky lze snadno kombinovat se statickými templaty včetně fragmentů HTML nebo XML s kódem, který generuje dynamický obsah.
  • Snadná aktualizace. JSP stránky jsou dynamicky kompilovány do Servletů, takže autoři stránky mohou snadno aktualizovat prezentační kód. JSP stránky mohou být zároveň předkompilovány v případě potřeby.
  • Kompletní správa JavaBeans komponent. JSP tagy pro vyvolání JavaBeans komponent tyto komponenty plně spravují, čímž odstiňují autora stránek od komplexity aplikační logiky.
  • Kustomizované knihovny. Vývojáři mohou nabídnout kustomizované JSP knihovny tagů, ke kterým autoři stránek mohou přistupovat za pomoci syntaxe podobné XML.
  • Snadná změna logiky. Vývojáři mohou změnit logiku na úrovni komponent bez editace jednotlivých stránek, které tuto logiku používají.

Nevýhody použití JSP

  • Výstup je v HTML. Vzhledem k tomu, že je výstup v HTML, není tak bohatý na funkcionality.
  • Obtížné hledání chyb. Vzhledem k tomu, že JSP stránky jsou překládány do Servletů a kompilovány, je těžké dohledávat a opravovat chyby v JSP stránkách.
  • Rychlost. Při prvním spuštění vyžadují JSP stránky více času, protože musí být zkompilovány na serveru.
  • Databázová konektivita. Databázová konektivita není tak snadná, jak by mohla být. Většina dodavatelů Servletových enginů nepodporuje nativně sdílené připojení.
  • Nedostatky ohledně syntaxe.