JSP frente a servlets
Un servlet es un componente de software del lado del servidor escrito en Java y se ejecuta en un entorno de contenedor compatible conocido como contenedor Servelt (como Apache Tomcat). Los servlets se utilizan predominantemente en la implementación de aplicaciones web que generan páginas web dinámicas. Sin embargo, pueden generar cualquier otro tipo de contenido como XML, texto, imágenes, clips de sonido, PDF, archivos de Excel mediante programación.
Un servlet escrito para generar algo de HTML puede verse así:
clase pública MyServlet extiende HttpServlet {
protected void doGet (solicitud HttpServletRequest, respuesta HttpServletResponse) lanza ServletException, IOException {
PrintWriter w=respuesta.getWriter();
w.escribir(“”);
w.escribir(“”);
Fecha d=nueva Fecha();
w.write(d.toString());
w.escribir(“”);
w.escribir(“”);
}
}
El código anterior contiene una mezcla de código fuente HTML y Java. Tal no es muy legible y mantenible. JSP, que significa JavaServer Pages, ofrece una mejor alternativa. Por ejemplo, el siguiente es un fragmento de código JSP que da como resultado una salida idéntica:
Los autores de páginas web encuentran JSP más fácil de escribir y mantener. Sin embargo, los archivos JSP se traducen a servlets mediante un contenedor de servlets en el momento en que se accede por primera vez a los archivos JSP. Sin embargo, los escritores de lógica empresarial consideran que es más fácil trabajar con servlets.
Una solicitud recibida por una aplicación web debe desencadenar la ejecución de alguna lógica comercial y luego generar una página web resultante como respuesta. En las aplicaciones web modernas, el control del ciclo general de procesamiento de solicitudes lo realizan principalmente los servlets. Como última etapa en el procesamiento de una solicitud, dicho Servlet generalmente transfiere la responsabilidad de generar el HTML dinámico a un JSP.