JSP vs servlets
Un Servlet és un component de programari del costat del servidor escrit en Java i s'executa en un entorn de contenidor compatible conegut com a contenidor Servelt (com Apache Tomcat). Els servlets s'utilitzen principalment per implementar aplicacions web que generen pàgines web dinàmiques. Tanmateix, poden generar qualsevol altre tipus de contingut, com ara XML, text, imatges, clips de so, PDF, fitxers Excel mitjançant programació.
Un servlet escrit per generar HTML pot semblar així:
classe pública MyServlet amplia HttpServlet {
protected void doGet (sol·licitud HttpServletRequest, resposta HttpServletResponse) llança ServletException, IOException {
PrintWriter w=response.getWriter();
w.write(“”);
w.write(“”);
Data d=data nova();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
El codi anterior conté una barreja de codi font HTML i Java. Això no és gaire llegible i conservable. JSP, que significa JavaServer Pages, ofereix una millor alternativa. Per exemple, el següent és un fragment de codi JSP que dóna lloc a una sortida idèntica:
Els autors de pàgines web troben JSP més fàcil d'escriure i mantenir. Tanmateix, els fitxers JSP es tradueixen a Servlets mitjançant un contenidor de Servlets en el moment en què s'accedeix per primera vegada als fitxers JSP. Tanmateix, els redactors de lògica empresarial troben que els servlets són més fàcils de treballar.
Una sol·licitud rebuda per una aplicació web hauria de desencadenar l'execució d'alguna lògica de negoci i després generar una pàgina web resultant com a resposta. A les aplicacions web actuals, el control del cicle general de processament de sol·licituds és a càrrec principalment de servlets. Com a darrera etapa en el processament d'una sol·licitud, un Servlet com aquest generalment passa la responsabilitat de generar l'HTML dinàmic a un JSP.