Upload
internet
View
118
Download
1
Embed Size (px)
Citation preview
Model-View-Controller (MVC)em Aplicações Web
Eduardo Martins Guerra
Desenvolvimento de Soluções WEB
Objetivo da Aula
Mostrar como desenvolver aplicações web usando o padrão MVC, de forma a
separar a lógica de negócios da interface da aplicação.
• O que é MVC?
• MVC em uma aplicação Web
• Criando uma aplicação MVC
Agenda da Apresentação
Model-View-Controller
MODEL VIEW CONTROLLER
Sabe as regras de negócio e mantém o estado da aplicação. Exemplo: carrinho de
compras.
Costuma ser representado por uma classe Java
(POJO).
É responsável pela apresentação. Recebe o estado do Model do Controller, para o qual
também passa as entradas que recebe
do usuário.
Costuma ser representado por uma
página JSP.
Atua com intermediário, recuperando as entradas do usuário da View e as
relacionando com o Model. Torna o estado do
Model disponível para View.
Costuma ser representado por
um Servlet.
MVC em Aplicações Web
Cliente(Browser)
Web Container
Servlet
1
6
ModelJSP
2
34
5
Recuperando os Parâmetros
Cliente(Browser)
Web Container
Servlet Model
...String p = request.getParameter(“param”);...model.businessMethod(p);...
O servlet recupera os parâmetros do request e chama os métodos apropriados no Model referente a regra de
negócio apropriada.
Colocando os Atributos
Cliente(Browser)
Web ContainerServlet
...request.setAttribute(“atrib”,var);...RequestDispatcher view = request.getRequestDispatcher(“view.jsp”)view.forward(request,response);...
Depois de executar a regra de negócio, o servlet seta os atributos que a página irá precisar e repassa o
controle para ela.
JSP
Exercício – Aplicação MVC
Escrever uma aplicação web que utilize MVC. Deve haver uma página que se entra alguma informação e o sistema retorna uma página
com a resposta.
• Criar uma página com um form estático.
• Este form deve enviar informações para um servlet.
• Os dados da resposta deve ser dada por uma classe java comum (Model).
• O servlet deve repassar as informações para um JSP criar a página de resposta.