O Spring Web MVC framework fornece Model-View-Controller (MVC) arquitetura e pronto componentes que podem ser usados para desenvolver flexível e de baixo acoplamento aplicações web. O padrão MVC resulta na separação dos diferentes aspectos da aplicação (lógica de entrada, lógica de negócios e lógica UI), enquanto fornece um acoplamento solto entre esses elementos.,
-
o modelo encapsula os dados da aplicação e, em geral, eles consistirão de POJO.
-
a vista é responsável por renderizar os dados do modelo e, em geral, gera saída HTML que o navegador do cliente pode interpretar.
-
O controlador é responsável pelo processamento dos pedidos dos utilizadores e pela construção de um modelo apropriado e passa-o para a vista de renderização.
O DispatcherServlet
o framework Spring Web model-view-controller (MVC) é projetado em torno de um DispatcherServlet que lida com todos os pedidos e respostas HTTP., O pedido de processamento de fluxo de trabalho do Spring Web MVC DispatcherServlet é ilustrado no diagrama a seguir −
é a seqüência de eventos correspondente ao recebimento de um pedido de HTTP para o DispatcherServlet −
-
Após o recebimento de uma solicitação HTTP, DispatcherServlet consulta a HandlerMapping para chamar o Controlador apropriado.
-
O controlador recebe o pedido e invoca os métodos de serviço adequados com base no método GET ou POST usado., O método de serviço irá definir os dados do modelo com base em lógica de Negócio definida e devolve o nome da vista para o DispatcherServlet.
-
O DispatcherServlet irá receber ajuda do visor para recolher a vista definida para o pedido.
-
Uma vez que a vista está finalizada, o DispatcherServlet passa os dados do modelo para a vista que é finalmente renderizada no navegador.
todos os componentes acima mencionados, i.e., HandlerMapping, Controller e ViewResolver são partes do WebApplicationContext w, que é uma extensão do plainApplicationContext com algumas características extras necessárias para aplicações web.
configuração necessária
é necessário mapear os pedidos que deseja que o ‘DispatcherServlet’ trate, usando um mapeamento URL na web.ficheiro xml. O seguinte é um exemplo para mostrar a declaração e mapeamento para o exemplo HelloWeb DispatcherServlet –
a web.o arquivo xml será mantido no diretório WebContent/WEB-INF da sua aplicação web., Após a inicialização do HelloWeb DispatcherServlet, o framework irá tentar carregar o contexto da aplicação a partir de um arquivo chamado-servlet.xml localizado no WebContent/WEB-INFdirectory da aplicação. Neste caso, o nosso ficheiro será o HelloWebservlet.xml.
seguinte, servlet-mapping> tag indica quais os URLs que serão tratados por que DispatcherServlet. Aqui todos os pedidos HTTP terminam com .o jsp será tratado pelo HelloWeb DispatcherServlet.
Se não quiser ir com o nome de ficheiro por omissão como-servlet.,xml e localização predefinida como WebContent / WEB-INF, poderá personalizar este nome e localização do ficheiro, adicionando o ContextLoaderListener servlet listener na sua web.ficheiro xml como se segue –
Agora, vamos verificar a configuração necessária para o HelloWeb-servlet.o ficheiro xml, colocado na pasta WebContent / WEB-INF da sua aplicação –
a seguir, são os pontos importantes sobre o HelloWeb-servlet.ficheiro xml –
-
the-servlet.o arquivo xml será usado para criar os grãos definidos, sobrepondo as definições de qualquer feijão definido com o mesmo nome no escopo global.,
-
Ocontexto:análise de componentes…> tag será usada para ativar a capacidade de digitalização de anotações de Primavera MVC que permite fazer uso de anotações como @Controller e @RequestMapping etc.
-
a resolução do Internalresourcewresolver terá regras definidas para resolver os nomes das vistas. De acordo com a regra definida acima, uma visão lógica chamada hello é delegada para uma implementação de visualização localizada em /WEB-INF/jsp/hello.jsp .
a secção seguinte mostrar-lhe-á como criar os seus componentes reais, ou seja,,, Controller, Model, and View.
definir um controlador
o DispatcherServlet delega o pedido aos controladores para executar a funcionalidade específica a ele. A anotação @Controller indica que uma determinada classe serve o papel de um controlador. A anotação @RequestMapping é usada para mapear um URL para uma classe inteira ou para um método de tratamento particular.
a anotação @Controller define a classe como um controlador MVC de mola. Aqui, a primeira utilização do @RequestMapping indica que todos os métodos de manipulação neste controlador são relativos ao caminho /hello., Next annotation@RequestMapping (method = RequestMethod.GET) é usado para declarar o método theprintello() como o método de Serviço padrão do controlador para lidar com o pedido HTTP GET. Você pode definir outro método para lidar com qualquer pedido de POST no mesmo URL.
pode escrever o controlador acima de outra forma, onde poderá adicionar atributos adicionais em @RequestMapping da seguinte forma –
o atributo valor indica o URL para o qual o método de tratamento é mapeado e o atributo method define o método de Serviço para lidar com o pedido de HTTP GET., Os seguintes pontos importantes devem ser anotados sobre o controlador definido acima –
-
Você irá definir a lógica de Negócio necessária dentro de um método de serviço. Você pode chamar outro método dentro deste método como por exigência.
-
baseado na lógica de Negócio definida, você irá criar um modelo dentro deste método. Você pode usar setter diferentes atributos do modelo e estes atributos serão acessados pela vista para apresentar o resultado final. Este exemplo cria um modelo com o seu atributo “message”.,
-
um método de serviço definido pode retornar uma cadeia de caracteres, que contém o nome da vista a ser usada para renderizar o modelo. Este exemplo devolve ” Olá ” como nome de vista lógico.
criando visualizações JSP
a MVC de Primavera suporta muitos tipos de visualizações para diferentes tecnologias de apresentação. Estes incluem-JSPs, HTML, PDF, planilhas do Excel, XML, modelos de Velocidade, XSLT, JSON, Atom e RSS feeds, JasperReports, etc. Mas mais comumente usamos modelos JSP escritos com JSTL.
deixe-nos escrever uma simples vista de Olá em /WEB-INF/hello/hello.,jsp –
<html> <head> <title>Hello Spring MVC</title> </head> <body> <h2>${message}</h2> </body></html>
Here ${message} is the attribute which we have set up inside the Controller. Você pode ter vários atributos a serem exibidos dentro de sua vista.
Spring Web MVC Framework Exemplos
com Base nos conceitos acima, vamos verificar alguns exemplos importantes que irão ajudá-lo na construção de sua Primavera Aplicações Web
Sr. Não., | Example & Description |
---|---|
1 | Spring MVC Hello World Example
This example will explain how to write a simple Spring Web Hello World application. |
2 | exemplo de tratamento de formulários MVC de Primavera
Este exemplo irá explicar como escrever uma aplicação web de Primavera usando formulários HTML para submeter os dados ao controlador e mostrar um resultado processado. |
3 | exemplo de redirecionamento de página de Primavera
Aprenda a usar a funcionalidade de redirecionamento de página no Framework MVC de Primavera., |
4 | Spring Static Pages Example
Learn how to access static pages along with dynamic pages in Spring MVC Framework. |
5 | Spring Exception Handling Example
Learn how to handle exceptions in Spring MVC Framework. |