JavaServer Pages™ (JSP™) este o tehnologie de programare pentru site-uri web care permite integrarea fără probleme a programelor Java™ în funcționarea normală a unui site web și în documentele active HyperText Markup Language (HTML). Tehnologia poate fi utilizată pentru a afișa date dinamice sau pentru a procesa intrarea utilizatorului. De asemenea, are avantajul de a putea accesa informațiile de pe serverul pe care rulează și de a fi portabil pe orice sistem sau server web cu suita corectă de programe instalată.
Una dintre cele mai mari diferențe atunci când se dezvoltă site-uri web interactive sau dinamice cu JavaServer Pages™ este că paginile pot fi utilizate cu ușurință pe orice server web care are un program care rulează și capabil să le interpreteze. Portabilitatea acestor tipuri de programe este posibilă de programe precum Apache Tomcat™ care pot funcționa pe mai multe platforme și servere web pentru a activa JavaServer Pages™. Aceste programe pot fi rulate în fundal sau deasupra altor servere web pentru a oferi funcționalitatea necesară. Paginile reale sunt adesea citite de om și arată ca pagini HTML obișnuite cu Java™ încorporat în cod.
Există multe diferențe între JavaServer Pages™ și limbajele tradiționale bazate pe web. Una dintre acestea este că există puține restricții de securitate privind comunicațiile dintre serverul web și pagini, deoarece acestea sunt integrate. Acest lucru este în contrast puternic cu alte limbaje comune de interfață gateway (CGI), care sunt rulate independent de serverul web și au restricții severe asupra acțiunilor pe care le pot efectua.
O diferență foarte convenabilă pentru programatori este că codul Java™ poate fi plasat direct într-o pagină HTML și executat din interiorul paginii, ca și cum ar fi parte dintr-un alt bloc de cod aflat în altă parte. Cu Java Server Pages™, o pagină HTML poate fi încărcată și porțiunile generate dinamic pot fi inserate pur și simplu după cum este necesar. Acest lucru este diferit de multe limbaje CGI în care codul sursă care este executat trebuie să genereze întreaga pagină HTML din cadrul programului. Acest proces poate fi completat permițând serverului să compileze codul Java™ din mers, în loc să-l precompileze, făcând modificări și întreținerea site-ului mult mai ușoare.
JavaServer Pages™ oferă o interfață mai puternică pentru programare decât alte limbaje similare. Unele limbaje de scripting sunt folosite pentru că sunt disponibile convenabil sau pentru că sunt concepute special pentru a îndeplini un subset de funcții de rețea. Un dezvoltator web care utilizează JavaServer Pages™ are acces la aproape întreaga limbă Java™ atunci când creează un site web, permițând funcții avansate și posibilitatea de a utiliza și încărca biblioteci noi după cum este necesar. Aceasta este o caracteristică puternică care poate face mai eficientă accesarea bazelor de date, utilizarea protocoalelor noi și comunicarea cu servere la distanță.