Diferença entre JSP e Servlets

JSP vs Servlets

Um Servlet é um componente de software do servidor escrito em Java e executado em um ambiente de contêiner compatível, conhecido como contêiner Servelt (como o Apache Tomcat). Servlets são predominantemente usados ​​na implementação de aplicativos da web que geram páginas da web dinâmicas. No entanto, eles podem gerar qualquer outro tipo de conteúdo como XML, texto, imagens, clipes de som, PDF, arquivos do Excel programaticamente.

Um Servlet escrito para gerar um pouco de HTML pode se parecer com isso:

classe pública MyServlet estende HttpServlet
doGet void protegido (solicitação HttpServletRequest, resposta HttpServletResponse) lança ServletException, IOException

PrintWriter w = response.getWriter ();
w.write ("");
w.write ("");

Data d = nova Data ();
w.write (d.toString ());
w.write ("");
w.write ("");

O código acima contém uma mistura de código-fonte HTML e Java. Isso não é muito legível e sustentável. JSP, que significa JavaServer Pages, fornece uma alternativa melhor. Por exemplo, a seguir está um fragmento de código JSP que resulta em saída idêntica:






Os autores de páginas da Web acham o JSP mais fácil de escrever e manter. Os arquivos JSP são, no entanto, convertidos em Servlets por um contêiner de Servlet no momento em que os arquivos JSP são acessados ​​pela primeira vez. No entanto, os autores da lógica de negócios acham que Servlets é mais fácil de trabalhar com.

Uma solicitação recebida por um aplicativo da Web deve acionar a execução de alguma lógica comercial e, em seguida, gerar uma página da Web resultante como resposta. Nos aplicativos da web modernos, o controle do ciclo geral de processamento de solicitações é realizado principalmente pelos Servlets. Como o último estágio no processamento de uma solicitação, esse Servlet geralmente entrega a responsabilidade de gerar o HTML dinâmico para um JSP.