Rozdíl mezi JSP a servlety

JSP vs Servlety

Servlet je softwarová komponenta na straně serveru napsaná v jazyce Java a běží v kompatibilním prostředí kontejneru známém jako kontejner Servelt (jako Apache Tomcat). Servlety se používají hlavně při implementaci webových aplikací, které generují dynamické webové stránky. Mohou však generovat programově jakýkoli jiný typ obsahu, jako je XML, text, obrázky, zvukové klipy, PDF, Excel.

Servlet napsaný pro generování nějakého HTML může vypadat takto:

public class MyServlet rozšiřuje HttpServlet
chráněné neplatné doGet (požadavek HttpServletRequest, odpověď HttpServletResponse) vyvolá ServletException, IOException

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

Datum d = nové datum ();
w.write (d.toString ());
w.write („“);
w.write („“);

Výše uvedený kód obsahuje směs zdrojového kódu HTML a Java. To není příliš čitelné a udržovatelné. Lepší alternativou je JSP, což je zkratka pro JavaServer Pages. Například následující je fragment kódu JSP, jehož výsledkem je identický výstup:






Autoři webových stránek považují JSP za jednodušší pro psaní a údržbu. Soubory JSP jsou však přeloženy do Servletů pomocí kontejneru Servlet v okamžiku prvního přístupu k souborům JSP. Spisovatelé obchodní logiky však shledávají, že se servlety je snadnější pracovat.

Požadavek přijatý webovou aplikací by měl spustit spouštění nějaké obchodní logiky a jako odpověď vygenerovat výslednou webovou stránku. V moderních webových aplikacích je řízení celého cyklu zpracování žádostí většinou prováděno Servlety. Jako poslední fáze zpracování žádosti takový servlet obecně předává odpovědnost za generování dynamického HTML do JSP.