spring的相关的理解,其实网上面有非常多的介绍,但是看着都挺容易理解,但是在和别人说的时候,总觉得不到位,还是没有能够罢相关联的东西弄明白,没有把知识变为自己的东西。
当使用一个工程,一个具体的工程练习一下。
例如spring mvc中的请求处理过程:在spring in action 中是这样描述的:
首先是DispatcherServlet 这个在web.xml 中配置的前端控制器servlet,前端控制器是web应用程序常见的模式,它将请求请求委托给应用程序的其他组件来执行实际的处理。
下面这些是对上面的这个图形,进行了进一步的说明:
我们还需要知道,DispatcherServlet 是怎么找到合适的Controller的,这样的话,在请求的时候如果加一个过滤器或者其他的什么的东西,或者中间增加逻辑处理是否合适就取决了你对这个过程的了解了。
找到controller是通过URL 和 controller之间的映射来找到对应的controller,spring提供了这种映射的机制,术语称之为映射器。并且还有很多种,例如:
可以自己根据情况来自行的配置:
helpAction helpAction accountAction accountAction
prop里面的内容,对应的是bean的ID。
如果没有定义的映射器的bean,DispacherServlet将创建并使用BeanNameUrlHandlerMapping 和
DefaultAnnotationHandlerMapping ,很明显后面的这个映射器是针对使用注解的情况。
spring mvc中uml请求的过程大致的就是这么一个过程。