• SpringMVC由浅入深day01_3非注解的处理器映射器和适配器


     非注解的处理器映射器和适配器

      3.1 非注解的处理器映射器

        3.1.1 HandlerMapping处理器映射器

    HandlerMapping 负责根据request请求找到对应的Handler处理器及Interceptor拦截器,将它们封装在HandlerExecutionChain 对象中给前端控制器返回。

          3.1.1.1 BeanNameUrlHandlerMapping

    BeanNameUrl处理器映射器,根据请求的url与spring容器中定义的bean的name进行匹配,从而从spring容器中找到bean实例。

    处理器映射器:

    org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping

    <!—beanName Url映射器 -->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

          3.1.1.2 SimpleUrlHandlerMapping

    simpleUrlHandlerMapping是BeanNameUrlHandlerMapping的增强版本,它可以将url和处理器bean的id进行统一映射配置。

        <!—简单url映射 -->
        <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
            <property name="mappings">
                <props>
                    <prop key="/items1.action">controller的bean id</prop>
                    <prop key="/items2.action">controller的bean id</prop>
                </props>
            </property>
        </bean>

    另一个映射器:可以将url和handler集中配置

    org.springframework.web.servlet.handler.SimpleUrlHandlerMapping

    测试:

    http://localhost:8080/springmvcfirst1217/queryItems.action

    http://localhost:8080/springmvcfirst1217/queryItems1.action

    http://localhost:8080/springmvcfirst1217/queryItems2.action

    都可以访问

    多个映射器可以并存,前端控制器判断url能让哪些映射器映射,就让正确的映射器处理。

      3.2 非注解的处理器适配器

        3.2.1 HandlerAdapter处理器适配器

    HandlerAdapter会根据适配器接口对后端控制器进行包装(适配),包装后即可对处理器进行执行,通过扩展处理器适配器可以执行多种类型的处理器,这里使用了适配器设计模式。

          3.2.1.1 SimpleControllerHandlerAdapter

    SimpleControllerHandlerAdapter简单控制器处理器适配器,所有实现了org.springframework.web.servlet.mvc.Controller 接口的Bean通过此适配器进行适配、执行。

    适配器配置如下:

    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

    org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter

    要求编写的Handler实现 Controller接口。

          3.2.1.2 HttpRequestHandlerAdapter

    HttpRequestHandlerAdapter,http请求处理器适配器,所有实现了org.springframework.web.HttpRequestHandler 接口的Bean通过此适配器进行适配、执行。

    适配器配置如下:

    <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>

    org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter

    要求编写的Handler实现 HttpRequestHandler接口。

    测试:

    http://localhost:8080/springmvcfirst1217/queryItems3.action

    可以成功访问

  • 相关阅读:
    移动Web开发调研
    如何将一个Excel文件中的sheet移动到另外一个Excel?
    Web自动化测试工具调研
    DOM中文本节点索引方法
    词法、语法与语义相关知识
    http 登录Digest认证相关知识
    javascript sandbox
    MVVM与Backbone demo
    Sass与Web组件化相关的功能
    Lua参数绑定函数实现方法
  • 原文地址:https://www.cnblogs.com/justdoitba/p/8335500.html
Copyright © 2020-2023  润新知