• 模糊的概念(四)


    spring的相关的理解,其实网上面有非常多的介绍,但是看着都挺容易理解,但是在和别人说的时候,总觉得不到位,还是没有能够罢相关联的东西弄明白,没有把知识变为自己的东西。

    当使用一个工程,一个具体的工程练习一下。

    例如spring mvc中的请求处理过程:在spring in action 中是这样描述的:

    image

    首先是DispatcherServlet 这个在web.xml 中配置的前端控制器servlet,前端控制器是web应用程序常见的模式,它将请求请求委托给应用程序的其他组件来执行实际的处理。

    下面这些是对上面的这个图形,进行了进一步的说明:

    image

    image

    我们还需要知道,DispatcherServlet 是怎么找到合适的Controller的,这样的话,在请求的时候如果加一个过滤器或者其他的什么的东西,或者中间增加逻辑处理是否合适就取决了你对这个过程的了解了。

    找到controller是通过URL 和 controller之间的映射来找到对应的controller,spring提供了这种映射的机制,术语称之为映射器。并且还有很多种,例如:

    image

    image

    可以自己根据情况来自行的配置:

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
          <property name="mappings">
             <props>
               <prop key="/**/help.do">helpAction</prop>
               <prop key="/ex/view*.do">helpAction</prop>
               <prop key="/*/account.do">accountAction</prop>
               <prop key="/*/editAccount.do">accountAction</prop>
             </props>
           </property>
    </bean>

    prop里面的内容,对应的是bean的ID。

    如果没有定义的映射器的bean,DispacherServlet将创建并使用BeanNameUrlHandlerMapping 和

    DefaultAnnotationHandlerMapping ,很明显后面的这个映射器是针对使用注解的情况。

    spring mvc中uml请求的过程大致的就是这么一个过程。

  • 相关阅读:
    《从零开始学Swift》学习笔记(Day 45)——重写方法
    《从零开始学Swift》学习笔记(Day 44)——重写属性
    浅析Android中ndk-build支持的参数
    texstudio on ubuntu 12.04
    arm上的参数列表传递的分析(以android为例)
    编译错误
    native method与so中function的关联
    Java.lang.NoClassDefFoundError--找不到相应的类
    Sublime Text 3 文档
    JNI 函数注册与管理
  • 原文地址:https://www.cnblogs.com/zhailzh/p/4166143.html
Copyright © 2020-2023  润新知