Baixe o app para aproveitar ainda mais
Prévia do material em texto
Spring MVC Carlos Lucena lucena@inf.puc-rio.br Cidiane Lobato cidianelobato@yahoo.com.br Daniel Mendonça da Silva danielmend@les.inf.puc-rio.br Diego Bispo diego.bispo@gmail.com 28/7/2007 2Nome do Autor © LES/PUC-Rio Agenda • Recapitulando • Spring • Spring MVC • Perguntas • Exercício 28/7/2007 3Nome do Autor © LES/PUC-Rio Agenda • Recapitulando • Spring • Spring MVC • Perguntas • Exercício 28/7/2007 4Nome do Autor © LES/PUC-Rio Recapitulando • Desenvolvimento Web I – Servlet, JSP, Taglibs e MVC • Java III – Framework e Padrões de Projeto • Java IV – Mapeamento OO e Hibernate 28/7/2007 5Nome do Autor © LES/PUC-Rio Agenda • Recapitulando • Spring • Spring MVC • Perguntas • Exercício 28/7/2007 6Nome do Autor © LES/PUC-Rio Spring 28/7/2007 7Nome do Autor © LES/PUC-Rio Arquitetura de Aplicações com Spring 28/7/2007 8Nome do Autor © LES/PUC-Rio Agenda • Recapitulando • Spring • Spring MVC • Perguntas • Exercício 28/7/2007 9Nome do Autor © LES/PUC-Rio Spring MVC - 1 28/7/2007 10Nome do Autor © LES/PUC-Rio Spring MVC - 2 1. O Dispatcher Servlet recebe a requisição; 2. O Dispatcher Servlet consulta o Handler Mapping procurando o Controller responsável por aquela requisição; 3. O Dispatcher Servlet dispara a requisição para o Controller; 4. O Controller retorna o ModelAndView que contem o nome da lógica de visualização; 5. O Dispatcher Servlet consulta o ViewResolver procurando a View que contem a lógica de visualização; 6. O Dispatcher Servlet redireciona a requisição para a View para assim retornar um apresentação para o usuario; 28/7/2007 11Nome do Autor © LES/PUC-Rio Spring MVC – Dispatcher Servlet • Classe oferecida pelo framework Spring; • Deve ser definido no web.xml da aplicação (acesso Http); • Trabalha em conjunto com arquivos xml: WebApplicationContext (controladores, etc) e ApplicationContext (define validações, etc); • Gerenciador da manipulação de request-response; 28/7/2007 12Nome do Autor © LES/PUC-Rio web.xml <web-app> <display-name>AppTest</display-name> <servlet> <servlet-name>sample</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>sample</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> </web-app> Spring MVC – Dispatcher Servlet • Exemplo 28/7/2007 13Nome do Autor © LES/PUC-Rio Spring MVC - Handler Mapping • Determinar o Controller responsável por uma URL. <bean id="testController" class="br.puc.rio.inf.les.prds.controller.TestController"/> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/test.html"> testController </prop> </props> </property> </bean> 28/7/2007 14Nome do Autor © LES/PUC-Rio Spring MVC - Controller • Spring provê diversas implementações para Controller. • Maioria dos controladores Spring derivam da interface: “org.springframework.web.servlet.mvc.Controller” • Controller – Manipular as requisições; – Retornar um ModelAndView; 28/7/2007 15Nome do Autor © LES/PUC-Rio Spring MVC - Controller • Exemplo package br.puc.rio.inf.les.prds.controller; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class TestController implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mav = new ModelAndView(“sucesso”); mav.addObject(“nomeTurma”, “Turma PRDS 2007.2”); return mav; } } 28/7/2007 16Nome do Autor © LES/PUC-Rio Spring MVC - ViewResolver • Determina a View (lógica de visualização) responsável por um ModelAndView. <bean id="viewResolver“ class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass“ value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/pages/"/> <property name="suffix" value=".jsp"/> </bean> 28/7/2007 17Nome do Autor © LES/PUC-Rio Spring MVC - View • Arquivo que contém Logica de Visualização (Ex: sucesso.jsp) <html> <head> <meta http-equiv="Content-Type“ content="text/html; charset=ISO-8859-1"> <title>JSP Teste</title> </head> <body> Sucesso, ${nomeTurma}. </body> </html> 28/7/2007 18Nome do Autor © LES/PUC-Rio Agenda • Recapitulando • Spring • Spring MVC • Perguntas • Exercício 28/7/2007 19Nome do Autor © LES/PUC-Rio Perguntas Perguntas? 28/7/2007 20Nome do Autor © LES/PUC-Rio Agenda • Recapitulando • Spring • Spring MVC • Perguntas • Exercício 28/7/2007 21Nome do Autor © LES/PUC-Rio Exercício • Cria o exemplo do Leilão (dado pelo Vitor). Mas agora usando Spring MVC.
Compartilhar