JSP vs Servlets
A Servlet er en programvarekomponent på serversiden skrevet i Java og kjører i et kompatibelt containermiljø kjent som en Servelt-beholder (som Apache Tomcat). Servlets brukes hovedsakelig til å implementere webapplikasjoner som genererer dynamiske nettsider. De kan imidlertid generere alle andre innholdstyper som XML, tekst, bilder, lydklipp, PDF, Excel-filer programmatisk.
En Servlet skrevet for å generere litt HTML kan se slik ut:
public class MyServlet utvider HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) kaster ServletException, IOException {
PrintWriter w=response.getWriter();
w.write(“”);
w.write(“”);
Date d=new Date();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
Koden ovenfor inneholder en blanding av HTML- og Java-kildekode. Slikt er lite lesbart og vedlikeholdbart. JSP som står for JavaServer Pages gir et bedre alternativ. Følgende er for eksempel et fragment av JSP-kode som resulterer i identisk utdata:
Forfattere av nettsider synes JSP er enklere å skrive og vedlikeholde. JSP-filer blir imidlertid oversatt til Servlets av en Servlet-beholder på det tidspunktet JSP-filer først åpnes. Forfattere av forretningslogikk synes imidlertid at Servlets er enklere å jobbe med.
En forespørsel mottatt av en nettapplikasjon bør utløse utførelse av en forretningslogikk og deretter generere en resulterende nettside som svar. I moderne nettapplikasjoner blir kontroll av den generelle forespørselsbehandlingssyklusen for det meste levert av Servlets. Som det siste trinnet i behandlingen av en forespørsel, overlater en slik Servlet vanligvis ansvaret for å generere dynamisk HTML til en JSP.