JSP vs Servlets
Um Servlet é um componente de software do lado do servidor escrito em Java e executado em um ambiente de contêiner compatível conhecido como contêiner Servelt (como Apache Tomcat). Os servlets são usados predominantemente 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 algum HTML pode ser assim:
classe pública MyServlet estende HttpServlet {
protected void doGet(solicitação HttpServletRequest, resposta HttpServletResponse) lança ServletException, IOException {
PrintWriter w=response.getWriter();
w.write(“”);
w.write(“”);
Data d=new Data();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
O código acima contém uma mistura de código-fonte HTML e Java. Tal não é muito legível e sustentável. JSP, que significa JavaServer Pages, oferece uma alternativa melhor. Por exemplo, o seguinte é um fragmento de código JSP que resulta em uma saída idêntica:
Os autores de páginas da Web acham o JSP mais fácil de escrever e manter. No entanto, os arquivos JSP são convertidos em Servlets por um contêiner Servlet no momento em que os arquivos JSP são acessados pela primeira vez. No entanto, os escritores de lógica de negócios acham que os Servlets são mais fáceis de trabalhar.
Uma solicitação recebida por um aplicativo da Web deve acionar a execução de alguma lógica de negócios 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 é feito principalmente por Servlets. Como último estágio no processamento de uma solicitação, esse Servlet geralmente transfere a responsabilidade de gerar o HTML dinâmico para um JSP.