Os componentes principais do Springmvc
DispatcheserServlet -> Controlador, entrada de solicitação
Handermapping-> Controller, Distribuição de solicitação
Controlador - -> Controlador, Processo de Processamento de solicitação
ModelAndView ---> Modelo, encapsular resultados de processamento de negócios e visualizações
ViewResolver ---> Visualizar, Exibir processador de exibição
Processo de processamento
O navegador emite uma solicitação para a exibição e entrega a solicitação ao controlador front-end DispatcheserServlet para processamento.
O controlador encontra o componente do controlador correspondente para lidar com a solicitação por meio de impações de mão.
Execute o método acordado pelo componente do controlador para processar a solicitação e ligue para o componente do modelo para concluir o processamento de negócios no método da convenção. O método da convenção pode retornar um objeto ModelAndView, que encapsula os dados do resultado do processamento de negócios e visualiza as informações do nome.
Depois que o controlador recebe o ModelAndView, ele chama o componente ViewResolver, localiza a exibição (JSP) e passa informações para gerar o resultado da interface de resposta.
A configuração de comentários tem muitas vantagens sobre a configuração XML:
Ele pode fazer pleno uso do mecanismo de reflexão de Java para obter informações sobre a estrutura da classe, o que pode efetivamente reduzir o trabalho de configuração. Se você usar a anotação JPA para configurar o mapeamento do ORM, não precisamos especificar o nome do atributo, o tipo e outras informações do PO. Se o campo da tabela de relacionamento e o nome e o tipo de atributo PO forem iguais, você nem precisará escrever informações de mapeamento de atributos de tarefa - porque essas informações podem ser obtidas através do mecanismo de reflexão Java.
Os comentários e o código Java estão localizados no mesmo arquivo, enquanto as configurações XML usam arquivos de configuração independentes. A maioria das informações de configuração não será ajustada após o desenvolvimento do programa. Se as informações de configuração e o código Java forem montados, isso ajudará a melhorar a coesão do programa. Usando arquivos de configuração XML independentes, os programadores geralmente precisam alternar entre arquivos de programa e arquivos de configuração ao gravar uma função. Essa inconsistência no pensamento reduzirá a eficiência do desenvolvimento.
Componente do controlador
O componente do controlador é responsável por executar processamento de negócios específico e é necessário implementar a interface do controlador e os métodos acordados durante a escrita.
Componente ModelAndView
O componente da Convenção do Controlador retornará um objeto ModelAndView, que encapsula os dados do modelo de processamento de negócios e visualiza informações.
O construtor ModelAndView é o seguinte:
-ModElandView (StringViewName)
-ModelandView (StringViewName, MapModel)
Onde ViewName é o nome da página JSP, e os dados do modelo são armazenados no atributo de solicitação
Componente de impapagem de mão
Através do componente Handermapping, o Controlador DispatcheserServlet pode mapear solicitações HTTP para o componente do controlador.
-SimpleUserHandlerMapping mantém uma solicitação HTTP e um relacionamento de mapeamento de controlador (MAP) para chamar o controlador de acordo com o relacionamento de correspondência da lista.
SimpleUserHandlerMapping
<Bean> <propriedade name = "mappings"> <ports> <props key = "/login.form"> Logincontroller </sport> <ps> </prop key = "/hello.form"> hellocontroller </proil
O hellocontrolador na tag SimpleUserHandlerMapping acima corresponde ao componente cujo ID é Hellocontroller na etiqueta do feijão abaixo.
RequestMappingHandlerMapping
ResQuestMappingHandlerRadapter
Use a anotação @ResQuestMapping na classe do controlador e métodos para especificar a solicitação HTTP do cliente correspondente.
Componente ViewResolver
Todos os componentes do controlador retornam uma instância do ModelAndView, encapsulando o nome da exibição, a visualização na mola é identificada pelo nome e o View Resolver ViewResolver resolve a visualização através do nome.
InternalResourceViewResolver envolve servlets e JSPs, usando exemplos:
<bean id = "jspViewResolver"> <propriedade name = "prefix" value = "/web-inf/jsp/"/> <propriedade name = "sufix" value = ". jsp"/> </ean>
Por exemplo: o nome da visualização Hello pode ser mapeado para /web-inf/hello.jsp através da configuração acima
Anotação do controlador
Geralmente, usamos a anotação @Controller para declarar o componente do controlador, o que o torna mais flexível e você não precisa implementar a interface do controlador como antes.
@ControllerPublic Classe Hellocontroller {public String Execute () {return "Hello"; }}Há um pré -requisito para usar a anotação acima, que é para permitir a digitalização da anotação:
<Contexto: Componente-Scan Base-Package = "org.test.controller">
O pacote básico escreve o pacote onde o componente do controlador está localizado.
Anotação de resistência
ResQuestMapping indica qual solicitação esta classe ou método corresponde a.
@Controlador @resquestMapping ("/test1") classe pública hellocontroller {@ResQuestMapping ("/hello.form") public string helloexecute () {return "hello"; }}Se você precisar usar o RequestMapping, precisará definir dois componentes de feijão no arquivo de configuração XML da primavera RequestMappingHandlerMapping (antes da definição da classe) e RequestMappingAdapter (antes da definição do método), por exemplo (necessário para ser definido na versão da primavera 3.1):
<bean/> <bean/>
A versão da primavera 3.2 não precisa ser definida
<MVC: Anotação orientada/>
Resumir
O exposto acima é a breve introdução das notas na primavera neste artigo, e espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!