Java Server Pages (JSP) este o tehnologie care permite realizarea unei combinarii intre HTML-ul static si HTML-ul generat dynamic, simplificarea sarcinii de contructie a aplicatiilor web care lucreaza cu o mare varietate de servere de web, aplicatii web,browsere si unelte de dezvoltare.
Tehnologia JSP permite dezvoltatorilor de web si designerilor sa dezvolte si sa intretina pagini web dinamice ale sistemelor intr-un mod foarte usor. Defapt paginile JSP sunt compilate in servlet-uri inainte sa fie folosite, astfel ca JSP-urile au toate avantajele servlet-urilor, incluzand acces la Java API.
Avantajele puse la dispozitie de JSP-uri :
. vs. Active Server Pages (ASP). ASP este tehnologie similara cu JSP-ul dar este de la Microsoft. JSP-ulurilor au doua avantaje. Primul este acela ca partea dynamica este scrisa in Java si nu in Visual Basic sau alt limbaj microsoft, prin urmare este mai usor de utilizat. Al doilea avantaj este acela ca este portabil in alte sisteme de operare si alte servere diferite de cele Microsoft
. vs. Pure Servlets. JSP nu ofera nimic care sa nu poti sa faci cu servleturi, dar este mult mai convenabil sa scrii sau sa modifici HTML-uri decat sa ai mii de linii de cod care sa genereze HTML-urile. In plus, prin separarea interfetei de continut poti sa oferi diferite sarcini(taskuri) la diferiti utilizatori.
. vs. Server-Side Includes (SSI). SSI este o tehnologie care se ocupa cu includerea unor piese externe in pagini Web statice. JSP-urile sunt mai bune deoarece te lasa sa folosesti servleturile in locul unor programe separate care sa genereze partea dinamica. Mai mult SSI nu poate fi folosit pentru programe reale care folosesc date de tip form sau conexiuni la baze de date.
. vs. JavaScript. JavaScript can generate HTML dynamically on the client. This is a useful capability, but only handles situations where the dynamic information is based on the client\'s environment. With the exception of cookies, HTTP and form submission data is not available to JavaScript. And, since it runs on the client, JavaScript can\'t access server-side resources like databases, catalogs, pricing information, and the like.
. vs. HTML static. HTML-ul nu poate sa contina informatii dinamice ceea ce face ca JSP-ul sa fie cem mai usor si mai convenabil de utilizat.
Daca servlet-urile sunt clase care genereaza documente Web, JSP-urile sunt documente Web care contin secvente de cod Java. Prin urmare JSP-urile sunt considerate ca o extensie a paginilor Web obisnuite.
Tehnologia JSP permite definirea de biblioteci de noi tag-uri (similare celor din XHTML ) de catre programator. Aceste biblioteci pot fi utilizate ulterior si in cadrul altor aplicatii. Mai mult, separa rolul programatorului si designerului: programatorul va stabili care sunt tag-urile, iar designerul le va include in documentatia Web, aceasta nu va mai lucra cu cod Java. Astfel se separa partea de functionalitate ( motorul aplicatiei) de partea de vizualizare (interfata cu utilizatorul).