JavaServer Pages (JSP) je tehnologija programiranja na strani strežnika, ki omogoča ustvarjanje dinamičnih spletnih strani in aplikacij. To dosežemo z vdelavo kode Java v HTML, XML, DHTML ali druge vrste dokumentov. Ko odjemalec, kot je spletni brskalnik, zahteva vsebnik aplikacije Java, ki je običajno spletni strežnik, se statična stran pretvori v ozadju in se gledalcu prikaže kot dinamična vsebina. Špekuliralo se je, da je bil JSP izdan za tekmovanje s PHP, pogosto uporabljenim odprtokodnim programskim jezikom.
Medtem ko je JSP včasih povezan z aktivnimi strežniškimi stranmi (ASP), sta to pravzaprav dve različni tehnologiji. Največja razlika je v tem, da ASP razvija Microsoft® in se večinoma obravnava kot okvir. To je posledica njegove zmožnosti, da podpira široko paleto programskih jezikov, ki jih omogoča Microsoft® Component Object Model (COM). JSP, ki ga je ustvaril Sun Microsystems®, velja za objektno usmerjen programski jezik.
Tehnologija JavaServer Pages omogoča vstavljanje javanske kode in izbire vnaprej določenih dejanj v statično vsebino spletne strani. Ta koda je sestavljena med izvajanjem za vsako zahtevo strani. Strežnik, kodo Java in/ali katero koli programiranje po meri, ki je bilo morda implementirano, nadzira vnaprej nameščena programska aplikacija, znana kot navidezni stroj (VM). Ta VM se integrira z gostiteljskim operacijskim sistemom. Najpogostejši VM, ki se uporablja za izvajanje aplikacij JSP, je Java Virtual Machine™ (JVM).
S tehničnega vidika je JSP mogoče gledati kot abstrakcijo strežniških programov Java na visoki ravni, ker se v bistvu izvajajo nad njimi. Strani strežnika Java običajno prevaja prevajalnik Java. Ta prevajalnik bodisi generira strežniške programčke v obliki kode Java ali bajtno kodo, ki se lahko izvede neposredno. Ker jih je mogoče razlagati takoj, ko so poslane zahteve, se čas, potreben za pretvorbo statične strani v dinamično vsebino, pogosto močno skrajša.
Mnogi programerji imajo raje JSP, ker poenostavlja razvoj, saj omogoča vstavljanje kode Java neposredno v standardne besedilne datoteke. Je tudi neodvisen, večplatformski, prenosni jezik, ki je v skladu z geslom Java: ‘napiši enkrat, teči kjerkoli’. Jezik, ki se ponaša z možnostjo ločevanja vsebine od temelja strani, omogoča programerjem, da ustvarijo novo kodo, neodvisno od obstoječega dela. JSP v veliki meri velja za robustno in učinkovito tehnologijo tako za vidike programiranja na strani strežnika kot odjemalca.