Guia Essencial de Servlets e JSP em Java
Servlets e JSP
Servlets e JSP são tecnologias fundamentais para o desenvolvimento de sistemas web em Java. Servlets são classes que herdam de Servlet, GenericServlet ou HttpServlet. JavaServer Pages (JSP) é uma linguagem de script que permite integrar HTML com tags JSP e código Java.
Em Servlets, tags HTML podem estar misturadas ao código Java, enquanto em JSP podemos ter códigos Java misturados a tags HTML e JSP.
Os Servlets são mais úteis no desenvolvimento de controles de um sistema web, enquanto JSP são mais eficazes na camada de apresentação.
Solicitações GET e POST
Solicitações do tipo GET têm seus parâmetros enviados juntamente com a URL, enquanto em solicitações do tipo POST os dados são enviados no corpo (body) da requisição.
Componentes Principais
- HttpServletResponse: Encapsula dados e objetos da resposta enviada ao cliente.
- HttpServletRequest: Encapsula dados da requisição do cliente (ex: endereço IP, tipo de navegador).
- PrintWriter: Encapsula textos formatados como um fluxo de dados enviados ao servidor ou container.
- IOException: Encapsula informações de exceções ocorridas por falhas em operações de entrada ou saída (ex: tentar escrever em um arquivo somente leitura).
Implementação em GenericServlet
Em uma aplicação web Java, se um servlet estender GenericServlet, quais métodos devem ser implementados? Deve-se implementar o método service(), pois ele é abstrato, tornando a classe resultante também abstrata.
Estrutura de Pastas do Projeto
- src: Código-fonte Java (.java).
- build: Onde o Eclipse compila as classes (.class).
- WebContent: Diretório de conteúdo (páginas, imagens, CSS, etc.).
- WebContent/WEB-INF/: Pasta oculta com configurações e recursos do projeto.
- WebContent/WEB-INF/lib/: Bibliotecas .jar.
- WebContent/WEB-INF/classes/: Arquivos compilados.
Processamento em GET e POST
Para processar solicitações GET e POST em um servlet que estende HttpServlet, deve-se implementar os métodos doGet() e doPost(), ou implementar apenas o método service().
Diferença entre HTML e JSP
Uma página HTML é estática e processada no lado do cliente. Uma página JSP permite conteúdo dinâmico e é processada no lado do servidor.