Erinevus JSP ja Servlettide vahel

JSP vs Servletid

Servlett on Java-keeles kirjutatud serveripoolne tarkvarakomponent ja töötab ühilduvas konteinerikeskkonnas, mida nimetatakse Servelt-konteineriks (näiteks Apache Tomcat). Servlette kasutatakse peamiselt dünaamilisi veebilehti loovate veebirakenduste rakendamisel. Kuid need võivad programmiliselt genereerida ka muid sisutüüpe, näiteks XML-i, teksti, pilte, heliklippe, PDF-faile ja Exceli faile.

Mõne HTML-i genereerimiseks kirjutatud Servlett võib välja näha järgmine:

avaliku klassi MyServlet laiendab HttpServlet
kaitstud tühine doGet (HttpServletRequest päring, HttpServletResponse vastus) viskab ServletException, IOException

PrintWriter w = response.getWriter ();
w.write (“”);
w.write (“”);

Kuupäev d = uus kuupäev ();
w.write (d.toString ());
w.write (“”);
w.write (“”);

Ülaltoodud kood sisaldab HTML-i ja Java-lähtekoodi segu. See pole eriti loetav ja hooldatav. JSP, mis tähistab JavaServer Pages, pakub paremat alternatiivi. Näiteks on järgmine JSP-koodi fragment, mille tulemuseks on identne väljund:






Veebilehtede autoritel on JSP-d lihtsam kirjutada ja hooldada. JSP-failid tõlgitakse Servlet-konteinerites siiski Servletiteks JSP-failidele esmakordse juurdepääsu ajal. Äriloogika kirjutajate arvates on Servletiga siiski lihtsam töötada.

Veebirakenduselt saadud taotlus peaks käivitama teatud äriloogika täitmise ja genereerima seejärel vastuseks tulemuseks oleva veebilehe. Tänapäevastes veebirakendustes kontrollib päringute üldist töötlemistsüklit enamasti Servlets. Taotluse töötlemise viimase etapina annab selline Servlet üldjuhul üle dünaamilise HTML-i genereerimise vastutuse JSP-le.