JSP vs Servlets
En Servlet er en komponent på serversiden som er skrevet i Java og kjører i et kompatibelt beholdermiljø, kjent som en Servelt-beholder (som Apache Tomcat). Servlets brukes hovedsakelig i implementering av webapplikasjoner som genererer dynamiske websider. De kan imidlertid generere annen innholdstype som XML, tekst, bilder, lydklipp, PDF, Excel-filer programmatisk.
En servlet som er skrevet for å generere noen HTML kan se slik ut:
offentlig klasse MyServlet utvider HttpServlet
beskyttet ugyldig doGet (HttpServletRequest request, HttpServletResponse respons) kaster ServletException, IOException
PrintWriter w = response.getWriter ();
w.write ( “”);
w.write ( “”);
Dato d = nytt Dato ();
w.write (d.toString ());
w.write ( “”);
w.write ( “”);
Koden ovenfor inneholder en blanding av HTML og Java kildekode. Slike er ikke veldig lesbar og vedlikeholdsbar. JSP som står for JavaServer Pages, gir et bedre alternativ. For eksempel er følgende et fragment av JSP-kode som resulterer i identisk utgang:
Websideforfattere finner JSP lettere å skrive og vedlikeholde. JSP-filer oversettes imidlertid til Servlets av en Servlet-beholder når JSP-filene først blir åpnet. Imidlertid finner forretningslogikforfattere Servlets å være lettere å jobbe med.
En forespørsel mottatt av en webapplikasjon skal utløse utførelsen av noen forretningslogikk og deretter generere en resulterende nettside som svaret. I moderne webapplikasjoner er det hovedsakelig overlevert kontroll av den samlede forespørselsbehandlingssyklusen av Servlets. Som den siste fasen i behandlingen av en forespørsel overfører en slik Servlet generelt ansvaret for å generere den dynamiske HTML-en til en JSP.