JavaServer Pages (JSP) este o tehnologie de programare pe server care permite crearea de pagini web și aplicații dinamice. Acest lucru se realizează prin încorporarea codului Java în HTML, XML, DHTML sau în alte tipuri de documente. Când un client, cum ar fi un browser web, face o solicitare către containerul de aplicații Java, care este de obicei un server web, pagina statică este convertită în culise și afișată ca conținut dinamic pentru vizualizator. S-a speculat că JSP a fost lansat pentru a concura cu PHP, un limbaj de programare open-source folosit în mod obișnuit.
În timp ce JSP este uneori asociat cu Active Server Pages (ASP), acestea sunt de fapt două tehnologii diferite. Cea mai mare diferență este că ASP este dezvoltat de Microsoft® și considerat în mare parte ca un cadru. Acest lucru se datorează capacității sale de a suporta o mare varietate de limbaje de programare activate de Microsoft® Component Object Model (COM). Creat de Sun Microsystems®, JSP este considerat un limbaj de programare orientat pe obiecte.
Tehnologia JavaServer Pages permite introducerea codului Java și a acțiunilor predefinite selectate în conținutul static al paginii web. Acest cod este compilat în timpul execuției pentru fiecare solicitare făcută către pagină. Serverul, codul Java și/sau orice programare personalizată care ar fi putut fi implementată, este controlată de o aplicație software preinstalată cunoscută sub numele de mașină virtuală (VM). Acest VM se integrează cu un sistem de operare gazdă. Cel mai frecvent VM folosit pentru a rula aplicații JSP este Java Virtual Machine™ (JVM).
Din punct de vedere tehnic, JSP poate fi privit ca o abstractizare la nivel înalt a servlet-urilor Java, deoarece acestea rulează în esență peste ele. Paginile JavaServer sunt de obicei compilate de un compilator Java. Acest compilator fie generează servlet-uri sub formă de cod Java, fie cod octet care poate fi executat direct. Deoarece ele pot fi interpretate de îndată ce sunt făcute cereri, timpul necesar pentru a converti o pagină statică în conținut dinamic este adesea mult redus.
Mulți programatori preferă JSP deoarece simplifică dezvoltarea permițând inserarea codului Java direct în fișierele text standard. Este, de asemenea, un limbaj independent, multi-platformă, portabil, care se încadrează în motto-ul Java „scrie o dată, rulează oriunde”. Având capacitatea de a separa conținutul de la baza paginii, limbajul permite programatorilor să creeze cod nou independent de munca existentă. JSP este în mare măsură considerat a fi o tehnologie robustă și eficientă atât pentru aspectele de programare ale serverului, cât și ale clientului.