Aula 14: O modelo MVC

Sejam bem vindos, esta é a décima quarta aula de Programação Web em Java, para saber mais sobre o curso, começe em Curso de Programação Web em Java – CPWJ.

Até a última aula de HTML e CSS descobrimos como preparar uma página para publicação na Internet. Porém estas página preparadas assim tem um problema: são estáticas. Uma vez escritas e copiadas para o servidor, permanecerão exatamente iguais em todos os detalhes.

Com o conteúdo de Java aprendemos como construir programas. Vamos juntar as duas coisas agora.

JSP é uma sigla para Java Server Pages, e é uma tecnologia desenvolvida pela Sun para permitir o uso do Java para produzir páginas dinâmicas na Web. É utilizada em conjunto com classes Java com regras específicas para atendimento a requisições dos usuários. Estas classes são os Servlets.

Revisando como funciona a Web

O cliente faz uma requisição através do navegador quando:

  • Digita um endereço na barra de endereço e envia;
  • Clica em um botão de envio de um formulário;
  • Modifica um dado em um formulário com código javascript relacionado;

Na ação do usuário esta requisição é enviada pela Internet (ou Intranet) até o servidor de Web e este faz uma série de ações:

  • Interpreta a requisição
  • Procura na pasta root o arquivo HTML pedido
  • Envia o arquivo de volta ao navegador do cliente

Por fim o navegador do cliente interpreta o código Html, css e “desenha” o resultado.

Páginas dinâmicas

Com as páginas dinâmicas a diferença está nas ações do servidor de WEB:

  • Interpreta a requisição e detectando um pedido para página dinâmica:
  • Aciona uma classe Servlet
  • A classe Servlet interpreta qual ação foi requisitada e aciona as classes adequadas
  • Após a execução das ações, é chamada a página JSP para preparar a resposta visuais à requisição. As páginas JSP possuem código para produção de uma página HTML ad-roc, isto é sob demanda.
  • O Servidor envia para o navegador cliente a página de resposta gerada

Observe que temos duas camadas de código para produção de uma página dinâmica: os Servlets e o JSP. Um modelo mais completo utiliza três camadas e é chamada MVC Model-View-Control. Vamos ver cada uma destas camadas:

Model

A camada Model (modelo) possui a representação das informações do programa. No nosso exemplo, esta camada irá implementar classes para representar as entidades envolvidas no programa. Por exemplo em um programa de frente de caixa, haveria classes para representar produtos, compras, notas fiscais, itens de notas fiscais, métodos de pagamento. Estas classes iriam também armazenar todas as ações que eventualmente o usuários necessitasse realizar sobre estas entidades. Normalmente as classes utilizam um sistema de banco de dados para fazer o armazenamento persistente. Utilizaremos a biblioteca Hibernate para facilitar a persistência dos dados. Iremos utilizar o banco de dados Mysql para os exemplos

View

A camada View (visão) é responsável por construir uma interface para interação do usuário. Ela prepara a apresentação da informação para que o usuário possa reagir as respostas e continuar utilizando o programa. Em Java utilizaremos páginas JSP com Jstl para produzir as páginas de resposta. Observe que a camada View não acessa diretamente o banco de dados, ela recebe normalmente objetos Collection geradas pelas classes da camada Model e produz código HMTL a partir deles. Percebeu porque tivemos uma longa aula sobre coleções? (revise)

Control

A camada Control (controle) é a camada que controla o processo. Cada requisição do usuário é primeiro interpretado pela camada de controle que determina qual ação deve ser executada no modelo e encaminha depois a resposta do modelo para a camada de visão. No nosso exemplo quem irá fazer toda a camada de controle será o Struts.

Preparem-se, na próxima aula um sistema de busca completo será nosso primeiro programa!

Arrumem suas máquinas:

Dúvidas? vá para o fórum.

Outros Artigos:

10 comentários para “Aula 14: O modelo MVC”

  1. [...] Décima Quarta Aula: 14 de fevereiro | O modelo MVC [...]

  2. Lucas disse:

    Agora sim ficou interessante!!!
    E’ pra isso que comecei esse curso!

  3. Claudio disse:

    muito interessante o material. obrigado por compartilhar

  4. Jzr disse:

    Não terei tempo e nem saco para ver uma aula por semana. Pois ja estou com 54 anos

    • Não há idade para se começar de novo. Estou com 53 anos e me acho na flor da idade para estudar. Não desanimes amigo, o futuro só a Deus pertençe, não vasciles, não fraquejes, vá em frente e verás que não há idade para vencer.

  5. jzr disse:

    Que porcaria de curso, de graça esta caro.

    Pois a conta de luz não está nada barata, para ficar perdendo tempo na internet

  6. Olá, bom dia! Quero aqui parabenizar o mentor deste curso gratuito. Achei interessante, comecei lê-lo e definitivamente me interessei pela matéria. Estou hoje diariamente à frente do computador estudando, pois em março(2012) estarei iniciando um curso no SENAI de Florianópolios de Programsdor Web, e com toda a certeza este curso me auxiliará muito para não entrar sem saber nada. Também gostaria aqui de replicar aos comentários maldosos, tanto enfatizando ao conteudo dos cursos, idade e gastos com energia. Estou com 52 anos, vespera de 53, me acho jovem para começar e por isto estou aqui, computador não gasta luz, pois isto que se faz ao ler e se atualizar não se trata de gasto e sim de investimento. Obrigado pela oportunidade e que Deus ilumine mais pessoas a terem iniciativas desta natureza. Felicitações

    • Obrigado pelas palavras!
      De qualquer maneira, minha opção para comentários como aqueles que você cita está bem resumido neste artigo: http://br-linux.org/trolls/ e mais detalhadamente aqui: http://bulevoador.haaan.com/2009/09/85/
      Parabéns por manter a chama da curiosidade acesa mesmo não sendo mais um jovenzinho. Eu sigo o exemplo de meu pai, que entrou na faculdade se formou Psicólogo com mais 60 anos!! E não fez de qualquer jeito não… leu todos os livros pedidos, e tem todo o material super organizado em casa!

      • Muito obrigado professor, li os artigos, e confesso que não os conhecia e isto vem provar a seriedade deste site. A partir de agora, somente estudarei e me dedicarei ao aprendizado deixando de lado as insignificancias dos desocupados. abraços

Deixe um comentário