Buscar

Introdução ao Spring MVC

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.

Continue navegando