JSP vs Servlets
En Servlet er en softwarekomponent på serversiden, der er skrevet i Java og kører i et kompatibelt containermiljø kendt som en Servelt-container (som Apache Tomcat). Servlets bruges overvejende til implementering af webapplikationer, der genererer dynamiske websider. De kan dog generere enhver anden indholdstype som XML, tekst, billeder, lydklip, PDF, Excel-filer programmatisk.
En Servlet skrevet til generering af HTML kan se sådan ud:
offentlig klasse MyServlet udvider HttpServlet
beskyttet tomrum doGet (HttpServletRequest-anmodning, HttpServletResponse-svar) kaster ServletException, IOException
PrintWriter w = response.getWriter ();
w.write ( ””);
w.write ( ””);
Dato d = ny dato ();
w.write (d.toString ());
w.write ( ””);
w.write ( ””);
Koden ovenfor indeholder en blanding af HTML og Java-kildekode. Sådan er ikke særlig læsbar og vedligeholdelig. JSP, der står for JavaServer Pages, giver et bedre alternativ. For eksempel er følgende et fragment af JSP-kode, der resulterer i identisk output:
Websideforfattere finder JSP lettere at skrive og vedligeholde. JSP-filer oversættes dog til Servlets af en Servlet-container på det tidspunkt, hvor JSP-filer først åbnes. Forfattere til forretningslogik synes imidlertid, at Servlets er lettere at arbejde med.
En anmodning modtaget af en webapplikation skal udløse udførelsen af en vis forretningslogik og derefter generere en resulterende webside som svar. I moderne webapplikationer leveres kontrol af den samlede behandlingscyklus for forespørgsler for det meste af Servlets. Som det sidste trin i behandlingen af en anmodning overleverer en sådan Servlet generelt ansvaret for at generere den dynamiske HTML til en JSP.