MVC, Servlets, Padrões e JSP: Guia Completo

Classificado em Computação

Escrito em em português com um tamanho de 3,35 KB.

MVC (Model-View-Controller)

Um dos objetivos do MVC como arquitetura de uma aplicação é o de separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control).

Registro de Servlets

Existem duas maneiras de registrar os recursos como Servlets e filtros em uma aplicação web:

  • Via anotação
  • Registro no deployment descriptor (web.xml)

Padrão Front Controller

O padrão Front Controller impõe que todas as solicitações feitas à aplicação sejam antes passadas a um controlador.

Adoção de Helpers

Quem atende as solicitações são os helpers. O controlador é responsável pela distribuição. Os helpers irão padronizar a aplicação. Técnicas para interface, o polimorfismo e o mapeamento da URL actions.

Classes DAO (Data Access Object)

Têm um papel bem definido: o de incorporar todos os comandos SQL relativos à consulta e manipulação de registros no banco de dados. Para isso, são usadas várias classes do pacote "java.sql".

Classes Importantes

  • DriverManager: Conseguir uma conexão com o banco.
  • Connection: A própria conexão / conseguir um objeto do PreparedStatement.
  • PreparedStatement: Executar comandos SQL no banco de dados.
  • ResultSet: Resultado retornado pelo banco.
  • SQLException: Classe de exceção da aplicação.

Método Forward()

Passa toda a informação que possui à outro recurso, para que esse possa realizar mais processamento.

Factory Method

“Um padrão que define uma interface para criar um objeto, mas permite às classes decidirem qual classe instanciar. O Factory Method permite a uma classe deferir a instanciação para subclasses”.

Tags de Ação JSP

  • <jsp:include attribute="value">
  • <jsp:getProperty attribute="value">
  • <jsp:forward attribute="value">

Escopo de Página

É válido apenas para JSP.

Escopo de Objeto

  • Page
  • Request
  • Session
  • Application

Filtros

Um filtro deve ter no mínimo três métodos. Um filtro é uma classe do usuário que implementa uma interface. Seus métodos são:

  • destroy()
  • delete()
  • doFilter()

Configuração de um Filtro no web.xml

<filter-name>meuFiltro</filter-name>
<filter-class>br.com.caelum.filtro.MeuFiltro</filter-class>
<filter-name>meuFiltro</filter-name>
<url-pattern>/*</url-pattern>

Métodos para Objetos em Escopos de Aplicação Web

  • setAttribute(String, Object)
  • getAttribute(String): Retorna um objeto.

Definindo um Filtro com Anotação

Para definirmos um filtro, basta apenas criarmos uma classe que implementa a interface javax.servlet.Filter e anotarmos a classe com @WebFilter.

@WebFilter("/oi")
public class MeuFiltro implements Filter {
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {
        // ...
    }
}

Entradas relacionadas: