JavaServer Pages (JSP) je tehnologija programiranja na strani poslužitelja koja omogućuje stvaranje dinamičkih web stranica i aplikacija. To se postiže ugrađivanjem Java koda u HTML, XML, DHTML ili druge vrste dokumenata. Kada klijent kao što je web preglednik uputi zahtjev kontejneru Java aplikacije, koji je obično web poslužitelj, statička stranica se pretvara iza scene i prikazuje kao dinamički sadržaj gledatelju. Nagađalo se da je JSP pušten da se natječe s PHP-om, često korištenim programskim jezikom otvorenog koda.
Iako se JSP ponekad povezuje s aktivnim poslužiteljskim stranicama (ASP), to su zapravo dvije različite tehnologije. Najveća razlika je u tome što ASP razvija Microsoft® i uglavnom se smatra okvirom. To je zbog njegove sposobnosti podržavanja širokog spektra programskih jezika koje omogućuje Microsoft® Component Object Model (COM). Stvoren od strane Sun Microsystems®, JSP se smatra objektno orijentiranim programskim jezikom.
Tehnologija JavaServer Pages omogućuje Java kod i odabir unaprijed definiranih radnji za umetanje u sadržaj statične web stranice. Ovaj se kod sastavlja tijekom izvođenja za svaki zahtjev upućen stranici. Poslužitelj, Java kod i/ili bilo koje prilagođeno programiranje koje je možda implementirano, kontrolira unaprijed instalirana softverska aplikacija poznata kao virtualni stroj (VM). Ovaj VM se integrira s glavnim operativnim sustavom. Najčešći VM koji se koristi za pokretanje JSP aplikacija je Java Virtual Machine™ (JVM).
S tehničkog aspekta, JSP se može promatrati kao apstrakcija Java servleta visoke razine, jer se oni u biti pokreću na njima. Stranice JavaServera obično kompajlira Java prevodilac. Ovaj prevodilac ili generira servlete u obliku Java koda ili bajt koda koji se može izravno izvršiti. Budući da ih je moguće protumačiti čim se podnose zahtjevi, vrijeme koje je potrebno za pretvaranje statične stranice u dinamički sadržaj često je znatno smanjeno.
Mnogi programeri preferiraju JSP jer pojednostavljuje razvoj dopuštajući umetanje Java koda izravno u standardne tekstualne datoteke. To je također neovisan, prijenosni jezik na više platformi koji je u skladu s Javinim motom ‘napiši jednom, pokreni bilo gdje’. S mogućnošću odvajanja sadržaja od temelja stranice, jezik omogućuje programerima stvaranje novog koda neovisno o postojećem radu. JSP se uvelike smatra robusnom i učinkovitom tehnologijom za aspekte programiranja na strani poslužitelja i klijenta.