JSP versus Servlets
Een servlet is een softwarecomponent aan de serverzijde geschreven in Java en wordt uitgevoerd in een compatibele containeromgeving die bekend staat als een Servelt-container (zoals Apache Tomcat). Servlets worden voornamelijk gebruikt bij het implementeren van webtoepassingen die dynamische webpagina's genereren. Ze kunnen echter elk ander inhoudstype zoals XML, tekst, afbeeldingen, geluidsfragmenten, PDF, Excel-bestanden programmatisch genereren.
Een Servlet geschreven om wat HTML te genereren kan er als volgt uitzien:
public class MyServlet breidt HttpServlet uit
protected void doGet (HttpServletRequest request, HttpServletResponse response) gooit ServletException, IOException
PrintWriter w = response.getWriter ();
w.write ( “”);
w.write ( “”);
Datum d = nieuwe datum ();
w.write (d.toString ());
w.write ( “”);
w.write ( “”);
De bovenstaande code bevat een combinatie van HTML- en Java-broncode. Dat is niet erg leesbaar en onderhoudbaar. JSP, dat staat voor JavaServer Pages, biedt een beter alternatief. Het volgende is bijvoorbeeld een fragment van JSP-code dat resulteert in identieke uitvoer:
Webpagina-auteurs vinden het JSP gemakkelijker om te schrijven en te onderhouden. JSP-bestanden worden echter vertaald in Servlets door een Servlet-container op het moment dat JSP-bestanden voor het eerst worden geopend. Schrijvers van bedrijfslogica vinden Servlets echter gemakkelijker om mee te werken.
Een aanvraag ontvangen door een webtoepassing moet leiden tot de uitvoering van bepaalde bedrijfslogica en vervolgens een resulterende webpagina genereren als antwoord. In hedendaagse webapplicaties wordt het beheer van de totale verwerkingscyclus van aanvragen meestal door Servlets gegeven. Als de laatste stap in het verwerken van een verzoek, draagt zo'n Servlet over het algemeen de verantwoordelijkheid over het genereren van de dynamische HTML naar een JSP.