九大组件
文章目录
一、HandlerMapping
通过请求的url找到映射的逻辑处理单元handler,并将此url路径上的拦截器与handler包装为handlerExcetionChain。
- RquestMappingHandlerMapping:注解方式@RequestMapping(value=“url”,method="")
- SimpleUrlNameHandlerMapping:XML配置方式
<bean class="SimpleUrlNameHandlerMapping">
<property name="mappings">
<props>
<prop key="index">TestController</prop>
<props>
</property>
</bean>
- BeanNameUrlHandlerMapping:XML配置方式
<bean class="BeanNameUrlHandlerMapping" />
<bean id="/index" class="TestController" />
- ControllerClassNameHandlerMapping:类名方式,将controller的类名,去掉Controller后的字符串为对应的url。
二、HandlerAdapter
适配器可以统一处理不同的handler,使其执行。
- RequsetMappingHandlerAdapter:处理静态资源请求
- AnnotationMethodHandlerAdapter:注解类型 @Controller
- SimpleControllerHandlerAdapter:实现了Controller接口或其子类
- SimpleServletHandlerAdapter:实现了Servlet接口或其子类
三、ViewResolver
用以将逻辑视图名转换为实际视图名,并使用指定的视图技术将数据渲染到视图中。
- AbstractCachingViewResolver:顶层接口,拥有缓存功能
- UrlBasedViewResolver implements AbstractCachingViewResolver:字符串拼接方式。支持逻辑视图名为"forward:url"转发和"redirect:url"重定向。当为"forward:url"时,此ViewResolver将其前缀去掉"forward:",用url包装为InternalResourecView对象,调用RequestDispatcher的forward()方法,进行转发;当为"redirect:url"时,此ViewResolver将其前缀去掉"redirect:",用url包装为RedirectView对象,调用HttpResponse的sendRedirect()方法,进行重定向,并将model的数据附在url后。
<bean calss="UrlBasedCachingViewResolver">
<property name="prefix" value="" />
<property name="suffix" value="" />
<property name="ViewClass" value="" />
<property name="order" value="" />
</bean>
- InternalResourceViewResol