Pelo título podemos ver um substantivo muito desconhecido "Spring Web MVC", esse termo parece muito elevado, mas o que é exatamente? Esta é a explicação do documento oficial: Spring Web MVC é o framework web original construído na API Servlet e foi incluído no framework Spring desde o início. Seu nome oficial "Spring Web MVC" vem do nome de seu módulo fonte (Spring-webmvc), mas é frequentemente referido como SpringMVC
Não importa se você não entende. Em termos humanos, isto é:Spring Web MVC é um framework web No entanto, para realmente entender o Spring MVC, precisamos entender o que é MVC. Na verdade, MVC é a abreviatura de Model View Controller. É um padrão de design de arquitetura de software em engenharia de software. , visualize e controle três partes básicas, conforme mostrado na figura abaixo. Você pode pedir as definições destas partes: • View (visualização) refere-se ao recurso dedicado à interação com o navegador e à exibição de dados na aplicação. • O modelo é a parte principal da aplicação e é usado para processar a lógica dos dados no programa. • O controlador pode ser entendido como um despachante, que é usado para decidir qual modelo precisa ser usado para processar solicitações da visão e para qual visão precisa retornar após o processamento.Pronto para usar para conectar visualizações e modelos
O processo principal é: View envia uma solicitação ao Controller Neste momento, é feita uma seleção dentro do Controller para ver qual solução (modelo de solução) pode resolver a solicitação. o problema. Depois que o modelo for processado, o Modelo primeiro retornará os resultados do processamento ao Controlador e, em seguida, o Controlador retornará os resultados à Visualização. Este é o framework principal do MVC e uma ideia para resolver problemas.
Por exemplo, ir a um restaurante para comer Depois que o cliente entra na loja, o garçom chega para receber o pedido do cliente. Depois que o cliente pede a refeição, ele entrega o cardápio do cliente à recepção, e a recepção emite os pedidos para a cozinha com base no cardápio do cliente. é responsável pelo cozimento. Depois disso, informe ao garçom de acordo com o cardápio que esta é a refeição do convidado da mesa X. Durante este processo O garçom é View, responsável por receber os clientes, ajudá-los a pedir comida e servir a comida aos clientes. O front office é o Controlador, que seleciona a qual chef dar os pedidos com base na situação do pedido do usuário. A cozinha dos fundos é o modelo que atende às necessidades gastronômicas do cliente de acordo com as necessidades do front office.
Resumindo: MVC é um padrão de design arquitetônico e uma ideia, e Spring MVC é uma implementação específica da ideia MVC. Além disso, Spring MVC também é uma estrutura da Web. Em resumo, Spring MVC é um framework Web que implementa o padrão MVC Como SpringBoot é uma implementação específica do SpringMVC, os projetos que criamos geralmente são SpringBoot. Isso também explica porque o projeto criado por alguns alunos é o SpringBoot. Spring Boot pode adicionar muitas dependências e usar essas dependências para implementar diferentes funções. Spring Boot implementa funções da web adicionando a estrutura Spring WebMVC.
Por exemplo: a cozinha pode ser usada para cozinhar, mas a verdadeira função de cozinhar é o fogo e vários materiais e ferramentas relacionados com a cozinha. A cozinha é como o SpringBoot. A cozinha pode ser equipada com armários para realizar a função de armazenamento e decoração. fogões, etc., realizam a função de cozinhar. Há milhares de anos, cozinhar poderia ser feito com fogo e comida.
Com base no exemplo de pedido de comida acima, a principal mudança é que podemos entrar diretamente no restaurante e pedir comida diretamente na recepção, em vez de ligar diretamente para o garçom para vir pedir comida.
Como aprender Spring MVC?
Depois de entender brevemente o que é Spring MVC, podemos ter uma compreensão preliminar de como aprender Spring MVC. Quando aprendemos Spring MVC, o foco é aprender como interagir com os programas do usuário através do navegador. Principalmente dividido nos seguintes três aspectos:
Estabeleça uma conexão: Conecte o usuário (navegador) e o programa Java, ou seja, acessando um endereço pode chamar nosso programa Spring.
Solicitação: O usuário trará alguns parâmetros ao fazer uma solicitação. No programa, você deve encontrar uma forma de obter os parâmetros, portanto a parte da solicitação é principalmente uma função de obtenção de parâmetros.
Resposta: Após a execução da lógica de negócio, o resultado da execução do programa deve ser retornado ao usuário, que é uma resposta.
Anotações comuns do Spring Web MVC
O que aprendemos primeiro é a conexão: e as anotações do Spring MVC são uma parte importante da conexão. Portanto, a ordem da estrutura do meu blog está intimamente relacionada. Os temas principais podem distinguir seus conteúdos principais, mas os assuntos principais ainda estão intimamente relacionados. Vamos direto ao ponto, chega de brincadeira.
1. Use @RequestMapping no Spring MVC para implementar o mapeamento de roteamento de URL, que é a função do programa de conexão do navegador. Vamos primeiro dar uma olhada em como escrever o código. Depois de executá-lo, insira a URL http://127.0.0.1:8080/hello no navegador Você pode ver o efeito. Quanto ao motivo pelo qual este site é bom, você não precisa entendê-lo agora, mas com certeza entenderá no futuro, à medida que seu estudo se aprofundar. O efeito é como
Nota: podemos ver que criei o arquivo no diretório src/main/java/com.example.j20240711. Um hábito comum é escrever código comercial normal em src e testar código em texto. Como estou usando a versão profissional do IDEA2022.3.3, algumas páginas podem ser diferentes das suas, mas a estrutura geral é a mesma. Na verdade, também podemos usar a versão padrão para escrever Spring, mas é mais problemático instalar plug-ins. Escolhi a versão profissional para evitar problemas. Se você também quiser usar a versão profissional, pode procurar tutoriais no CSDN. Se realmente não conseguir descobrir, pode ir ao Xobao e comprar um por um preço baixo. É muito barato, então você também pode usar a versão profissional. @RequestMapping é uma das anotações mais comumente usadas em aplicativos Spring Web MVC. É usada para registrar o mapeamento de rotas da interface. Isso significa que quando o serviço receber uma solicitação, a solicitação com o caminho /sayHi será chamada O código. para este método diga Olá. Mapeamento de rotas: Quando um usuário acessa uma URL (pode ser entendida como o endereço de um site), o processo de mapeamento da solicitação do usuário para um método de uma determinada classe no programa é chamado de mapeamento de rotas. Alunos cuidadosos descobrirão que a anotação acima remove @RequestMapping e @RestController. Então, qual é a utilidade dessa anotação? Podemos tentar removê-lo primeiro.
Você pode ver que um 404 aparece e a página não pode ser encontrada.
Isto é o que @RestController faz. Em um projeto, haverá muitas classes e cada classe pode ter vários métodos. Como o programa Spring sabe qual método executar? O Spring verificará todas as classes. Se a classe for anotada com @RestController, o Spring examinará apenas os métodos desta classe. Você adicionou a anotação @RequestMapping É claro que ela faz mais do que isso. Vamos usá-la primeiro e falar sobre ela em detalhes mais tarde.
A função de @RequestMapping @RequestMapping pode modificar classes e métodos. Ao modificar classes e métodos, o endereço acessado é o caminho da classe + caminho do método. @RequestMapping identifica uma classe: define as informações iniciais do caminho da solicitação de mapeamento @RequestMapping identifica um método: definir as informações específicas do caminho da solicitação de mapeamento
Perceber: O caminho da URL de @RequestMapping pode ser precedido por / (barra) ou não. Quando o programa Spring for iniciado, ele fará um julgamento. Se não houver / na frente, o Spring irá unir um /. Normalmente, o caminho da URL que adicionamos /@RequestMapping também pode ser um caminho multicamadas. Quando finalmente acessado, ainda é o caminho da classe + caminho do método, como: O texto acima apresenta principalmente duas anotações. Na verdade, @RequestMapping ainda não foi explicado. Escreverei a próxima parte das anotações separadamente e escreverei um blog. Deixe-me fazer uma pergunta primeiro: e se quisermos saber se esta anotação suporta get ou post? Neste momento, precisamos escrever algum código front-end para enviar dados e verificar se ele suporta get ou post. No entanto, para uma pessoa puramente back-end, não entendemos como escrever o código front-end. vez, o software Postman O efeito é refletido, e a próxima edição falará sobre seu uso. Prévia para a próxima edição: Explique o uso principal do Postman e o segundo ponto-chave do aprendizado do Spring MVC: solicitações.