JSP vs Servletid
A Servlet on Java keeles kirjutatud serveripoolne tarkvarakomponent, mis töötab ühilduvas konteinerikeskkonnas, mida tuntakse Servelti konteinerina (nagu Apache Tomcat). Servleteid kasutatakse valdav alt dünaamilisi veebilehti genereerivate veebirakenduste juurutamisel. Need võivad aga programmiliselt genereerida mis tahes muud sisutüüpi, näiteks XML-i, teksti, pilte, heliklippe, PDF-i, Exceli faile.
HTML-i genereerimiseks kirjutatud Servlet võib välja näha järgmine:
avalik klass MyServlet laiendab HttpServleti {
protected void doGet(HttpServletRequest päring, HttpServletResponse'i vastus) viskab ServletExceptioni, IOExceptioni {
PrintWriter w=vastus.getWriter();
w.write(“”);
w.write(“”);
Kuupäev d=uus Kuupäev();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
Ül altoodud kood sisaldab HTML-i ja Java lähtekoodi segu. Selline pole eriti loetav ja hooldatav. JSP, mis tähistab JavaServer Pages, pakub paremat alternatiivi. Näiteks järgmine on JSP-koodi fragment, mille tulemuseks on identne väljund:
Veebilehtede autorite arvates on JSP-d lihtsam kirjutada ja hooldada. JSP-failid tõlgitakse aga servletiteks JSP-failidele esmakordsel juurdepääsul. Äriloogika kirjutajad leiavad aga, et servletidega on lihtsam töötada.
Veebirakendusele saabunud päring peaks käivitama teatud äriloogika ja seejärel looma vastuseks vastava veebilehe. Tänapäeva veebirakendustes juhivad kogu päringu töötlemise tsüklit enamasti servletid. Päringu töötlemise viimase etapina annab selline Servlet üldiselt dünaamilise HTML-i genereerimise vastutuse üle JSP-le.