Rozdiel medzi JSP a servletmi

JSP vs Servlety

Servlet je softvérová súčasť na strane servera napísaná v jazyku Java a spúšťaná v kompatibilnom prostredí kontajnera známom ako kontajner Servelt (napríklad Apache Tomcat). Servlety sa prevažne používajú pri implementácii webových aplikácií, ktoré generujú dynamické webové stránky. Programovo však môžu generovať akýkoľvek iný typ obsahu, napríklad XML, text, obrázky, zvukové klipy, súbory PDF, Excel.

Servlet napísaný na vygenerovanie nejakého HTML môže vyzerať takto:

public class MyServlet rozširuje HttpServlet
chránené void doGet (HttpServletRequest žiadosť, HttpServletResponse response) vyvolá ServletException, IOException

PrintWriter w = response.getWriter ();
w.write ( "");
w.write ( "");

Dátum d = nový dátum ();
w.write (d.toString ());
w.write ( "");
w.write ( "");

Vyššie uvedený kód obsahuje zmes zdrojového kódu HTML a Java. To nie je príliš čitateľné a udržiavateľné. Lepšia alternatíva predstavuje JSP, čo znamená JavaServer Pages. Nasleduje napríklad fragment kódu JSP, ktorého výsledkom je rovnaký výstup:






Autori webových stránok považujú JSP ľahšie na písanie a údržbu. Súbory JSP sa však prekladajú do Servletov pomocou kontajnera Servletov v čase prvého prístupu k súborom JSP. Autori obchodnej logiky však považujú servery za ľahšie pracovať.

Požiadavka prijatá webovou aplikáciou by mala spustiť vykonanie určitej obchodnej logiky a ako odpoveď vygenerovať výslednú webovú stránku. V moderných webových aplikáciách je riadenie celého cyklu spracovania požiadaviek väčšinou zabezpečované servermi Servlets. Ako posledná fáza spracovania žiadosti, taký servlet všeobecne odovzdáva zodpovednosť za generovanie dynamického HTML do JSP.