JSP vs Servlety
Servlet je softwarová komponenta na straně serveru napsaná v Javě a běží v kompatibilním prostředí kontejneru známém jako kontejner Servelt (jako Apache Tomcat). Servlety se používají převážně při implementaci webových aplikací, které generují dynamické webové stránky. Mohou však programově generovat jakýkoli jiný typ obsahu, jako je XML, text, obrázky, zvukové klipy, soubory PDF, Excel.
Servlet napsaný pro generování nějakého HTML může vypadat takto:
public class MyServlet rozšiřuje HttpServlet {
protected void doGet(požadavek HttpServletRequest, odpověď HttpServletResponse) vyvolá výjimku 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. Takový není moc čitelný a udržovatelný. JSP, což je zkratka pro JavaServer Pages, poskytuje lepší alternativu. 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šší na psaní a údržbu. Soubory JSP jsou však překládány do servletů pomocí kontejneru servletů v době prvního přístupu k souborům JSP. Autoři obchodní logiky však považují práci se servlety za jednodušší.
Požadavek přijatý webovou aplikací by měl spustit provedení nějaké obchodní logiky a poté jako odpověď vygenerovat výslednou webovou stránku. V moderních webových aplikacích je řízení celkového cyklu zpracování požadavků většinou svěřeno servletům. Jako poslední fázi zpracování požadavku takový Servlet obecně předává odpovědnost za generování dynamického HTML JSP.