Guia Completo de Servlets e JSP para Desenvolvimento Web

Computação4,01 KB

Servlets e JSP: Fundamentos

Servlets e JSP são a tecnologia básica para o desenvolvimento de sistemas web em Java. Um arquivo com a extensão .jsp é transformado em um arquivo .java pelo container, sendo depois compilado para um .class que será executado. Servlets são subclasses que herdam de Servlet, GenericServlet ou HttpServlet.

Java Server Pages (JSP) é uma linguagem de script que permite integrar HTML com tags JSP e código Java. Em servlets, tags HTML podem estar misturadas em código Java, enquanto em JSP podemos ter códigos Java misturados a tags HTML e JSP. Servlets são mais úteis no desenvolvimento de controles, enquanto JSP são mais eficazes na camada de apresentação.

Diretivas de Página e Atributos JSP

  • Importar pacotes: <%@ page import="java.util.*" %>
  • Configurar tipo de conteúdo: <%@ page contentType="text/plain" %>
  • Configurar sessão HTTP: <%@ page session="true" %>
  • Configurar página de erro: <%@ page errorPage="url" %>
  • Incluir páginas: <%@ include file="/common/header.jsp" %>
  • Biblioteca de tags: <%@ taglib uri="uri" prefix="op" %>

Componentes JSP

  • Declarações: Permitem a definição de métodos ou variáveis no corpo do servlet gerado.
  • Expressões JSP: Usadas para incluir diretamente o resultado de uma expressão Java no resultado do JSP.
  • Scriptlets: Permitem a inserção de código Java no método _jspService() do JSP.

Requisições e Objetos

Solicitações GET: Parâmetros enviados na URL. Solicitações POST: Dados enviados no cabeçalho do documento.

  • HttpServletRequest: Encapsula dados da requisição (IP, navegador, etc.).
  • PrintWriter: Encapsula textos formatados como fluxo de dados.
  • IOException: Encapsula exceções de operações de entrada ou saída.

Hierarquia e Implementação

Para estender GenericServlet, deve-se implementar o método service(), pois ele é abstrato. Em HttpServlet, implementa-se doGet() e doPost().

Hierarquia: Servlet < GenericServlet < HttpServlet < MyServlet.

Camada de Visão e Escopo

HTML vs JSP: HTML é estático (lado cliente); JSP é dinâmico (lado servidor).

Forward(): Passa o objeto request para outro recurso sem informar o cliente.

Atributos: setAttribute() insere/modifica atributos; getAttribute() recupera valores.

Escopo de Dados:

  • Application: ServletContext (acessível a toda a aplicação).
  • Session: HttpSession (acessível na sessão atual).
  • Request: ServletRequest (acessível na requisição atual).
  • Page: JspContext (acessível apenas na página JSP).

Filtros e JSTL

Filtros: Indicados para requisitos não funcionais (autenticação, criptografia). Métodos: init(), doFilter(), destroy().

Expression Language (EL): Simplifica o acesso a recursos via tags (ex: ${param.idade}).

JSTL: Coleção de bibliotecas de tags que permite escrever JSP sem código Java, aumentando a legibilidade e a colaboração com webdesigners.

Baixar

PDF Word HTML