JavaServer Pages™ (JSP™) je tehnologija programiranja za web stranice koja omogućuje besprijekornu integraciju Java™ programa u normalno funkcioniranje web stranice i unutar aktivnih dokumenata jezika za označavanje hiperteksta (HTML). Tehnologija se može koristiti za prikaz dinamičkih podataka ili za obradu korisničkih unosa. Također ima prednost što može pristupiti informacijama na poslužitelju na kojem se izvodi i što je prenosiv na bilo koji sustav ili web poslužitelj s instaliranim ispravnim paketom programa.
Jedna od najvećih razlika kod razvoja interaktivnih ili dinamičnih web stranica s JavaServer Pages™ je ta što se stranice mogu lako koristiti na bilo kojem web poslužitelju koji ima pokrenut program i sposoban ih interpretirati. Prenosivost ovih vrsta programa omogućena je programima kao što je Apache Tomcat™ koji mogu funkcionirati na nekoliko platformi i web poslužitelja kako bi omogućili JavaServer Pages™. Ovi se programi mogu izvoditi u pozadini ili na vrhu drugih web poslužitelja kako bi pružili potrebnu funkcionalnost. Stvarne su stranice često čitljive ljudima i izgledaju kao obične HTML stranice s Java™ ugrađenom u kod.
Postoje mnoge razlike između JavaServer Pages™ i tradicionalnijih jezika temeljenih na webu. Jedno od njih je da postoji nekoliko sigurnosnih ograničenja u komunikaciji između web poslužitelja i stranica jer su integrirane. Ovo je u potpunoj suprotnosti s drugim jezicima uobičajenog sučelja pristupnika (CGI), koji se pokreću neovisno o web poslužitelju i imaju velika ograničenja u radnjama koje mogu izvesti.
Vrlo zgodna razlika za programere je u tome što se Java™ kod može izravno postaviti u HTML stranicu i izvršiti unutar stranice kao da je dio drugog bloka koda koji se nalazi negdje drugdje. Uz Java Server Pages™, HTML stranica se može učitati i dinamički generirani dijelovi jednostavno umetnuti prema potrebi. Ovo se razlikuje od mnogih CGI jezika u kojima izvorni kod koji se izvršava mora generirati cijelu HTML stranicu unutar programa. Ovaj se proces može nadopuniti dopuštanjem poslužitelju da kompajlira Java™ kod u hodu umjesto da ga prethodno kompajlira, što znatno olakšava izmjene i održavanje web stranice.
JavaServer Pages™ nudi moćnije sučelje za programiranje od nekih drugih sličnih jezika. Neki skriptni jezici se koriste zato što su zgodno dostupni ili zato što su posebno dizajnirani za izvođenje podskupa mrežnih funkcija. Web programer koji koristi JavaServer Pages™ ima pristup gotovo cijelom jeziku Java™ prilikom izrade web stranice, dopuštajući napredne funkcije i mogućnost korištenja i učitavanja novih biblioteka prema potrebi. Ovo je moćna značajka koja može učiniti učinkovitijim pristup bazama podataka, korištenje novih protokola i komunikaciju s udaljenim poslužiteljima.