Spring MVC e o Dispatcher Servlet

#java #springframework #mvc





Spring MVC é um dos módulos que compõem o Spring Framework utilizado para construir aplicações web. Além de um Framework ele conta com as boas práticas de projeto para desenvolvimento de software web utilizando a plataforma Java EE.


O padrão MVC de projetos web tem como base romper a comunicação direta das camadas de visualização com as camadas de modelo ou negócios. Essas duas camadas permanecem isoladas uma da outra, se comunicando apenas por uma camada intermediária, chamada de controle. Dessa maneira, o acoplamento diminui consideravelmente, melhorando a qualidade e a manutenção da aplicação.


Assim, a partir dessas três camadas surge o nome MVC, Model, View e Controller. O Model é a camada responsável pelas lógicas de negócio, como operações, busca e persistência ao banco de dados, integrações, entre outras.  Já a camada View é a responsável por exibir o conteúdo ao usuário final, o qual realizou determinada requisição, através de páginas HTML. E por último, a camada Controller, que faz a conexão entre as camadas citadas anteriormente. O Controller do Spring MVC recebe uma determinada requisição enviada por um usuário, executa as respectivas ações (operações, buscas ou persistência) através do acesso à camada Model e por fim, envia os resultados ou buscas obtidas, assim como o nome da página JSP a ser renderizada, para a camada View.

O Spring MVC é estruturado por um componente denominado Dispatcher Servlet, o qual consiste em um padrão de projeto web que possui como propósito fornecer um único ponto de entrada para todas as requisições direcionadas para a aplicação, facilitando assim, o gerenciamento dessas requisições.

O Dispatcher Servlet possui dois principais pontos na estruturação do Spring MVC, sendo o primeiro um mapeador de requisições, que gerencia qual Controller irá receber tal requisição e, o segundo, um gerenciador de visualização, o qual busca o respectivo arquivo JSP que será renderizado na camada View.


Quando uma requisição chegar ao servidor, o Dispatcher Servlet  irá recebê-la e enviá-la para um mapeador de requisições, chamado Handler Mapping. O Handler Mapping irá analisar esta requisição e posteriormente, encaminhá-la para seu respectivo Controller.

Depois que o Controller é executado, ele encaminha de volta para o Dispatcher Servlet o nome da view que será renderizada, assim como os dados obtidos na camada Model. O gerenciador de visualização, chamado de View Resolver, irá encontrar a página JSP que corresponde ao nome da view enviada pelo Controller. Em seguida, direcioná-la para a camada View a fim de renderizá-la de acordo com os resultados obtidos na camada de negócios. Após a página estar renderizada, ela é enviada para o Dispatcher Servlet, que então, a encaminha como resposta para o cliente que fez a requisição. Todas essas etapas ficam mais fáceis de serem visualizadas abaixo, na Figura 1.




Figura 1: Organização do Spring MVC pelo Dispatcher Servlet.


O Dispatcher Servlet é configurado pelo programador utilizando configuração por xml ou por código Java.

414 visualizações2 comentários

Posts recentes

Ver tudo