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.