Pregunta

cerrado . Esta pregunta necesita detalles o claridad . Actualmente no está aceptando respuestas.

¿Quieres mejorar esta pregunta? Agregar detalles y aclarar el problema por Edición de este post .

cerrado hace 7 años .

(reescrito para reapertura :)

¿Cuáles son las ventajas relativas de los servlets sobre JSP, o viceversa?

podría prefirerse JSP porque es fácil colocar el código dentro de JSP, o Servlets porque con ellos se puede separar de la vista? ¿Hay otras consideraciones?

Cualquier información sobre esto será inmensamente útil.

¿Fue útil?

Solución

La principal ventaja de JSP es que es más fácil de codificar y leer cuando está creando un front-end HTML dinámico.

Eso es porque escribe principalmente HTML y en algunos lugares incrusta el código Java.

En un servlet, tendría que invertir la lógica, es decir, escribir código Java e imprimir HTML.

Eso es porque en la capa de presentación la mayoría del código es HTML / JS.

Por otro lado, la lógica empresarial se encuentra en la mayoría de los códigos Java de la parte, por lo que en ese caso es mejor usar servlets o POJOS (objetos llanos, antiguos Java).

Editar: No hay una diferencia de rendimiento desde el código JSP, como tal, nunca se ejecuta, se convierte en un servlet.Solo la primera vez que ejecuta el JSP después de que se haya cambiado, se tarda un poco más tiempo en ejecutarse porque debe convertirse en servlet.

Compare un programa simple "Hello World" en JSP vs Servlet:

jsp:

<html>
        <head><title>Hello World JSP Page.</title></head>
        <body>
                <font size="10"><%="Hello World!" %></font>
        </body>
</html>

servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

    public class HelloWorld extends HttpServlet{ 
      public void doGet(HttpServletRequest request, 
      HttpServletResponse response)
      throws ServletException,IOException{
      response.setContentType("text/html");
      PrintWriter pw = response.getWriter();
      pw.println("<html>");
      pw.println("<head><title>Hello World</title></title>");
      pw.println("<body>");
      pw.println("<h1>Hello World</h1>");
      pw.println("</body></html>");
      }
    }

Licenciado bajo: CC-BY-SA con atribución
No afiliado a softwareengineering.stackexchange
scroll top