您的位置:首页 > 其它

contextLoaderListener和dispatcherServlet初始化上下文的区别

2015-06-12 07:50 453 查看
ContextLoaderListener初始化的上下文:Bean,配置文件,针对dao,service

DispatcherServlet初始化的上下文加载的Bean是只对Spring Web MVC有效的Bean,如Controller、HandlerMapping、HandlerAdapter等等,该初始化上下文应该只加载Web相关组件

DispatcherServlet的容器继承ContextLoaderListener的容器webApplicationContext,这样做可以让dispatcherservlet中要使用的bean可以从webapplicationcontext中获得。

细说dispatcherservlet:

dispatcherServlet初始化的过程具体主要做了两件事:

1初始化spring mvc使用的web上下文,并且可能指定父类容器(contextloaderlistener的根上下文)

2初始化dispatcherservlet使用的策略,如handermapping handeradapter等

dispatcherservlet的默认配置文件:dispatcherservlet.properties,这个配置文件中有一些特殊的bean,这些bean不需要我们注册就可以启动,如果我们注册了这些bean,默认的bean就不会注册了

这个配置文件中特殊的bean列表:

controller

handlermapping(请求到处理器的映射,如果映射成功返回一个handlerexecutionchain对象)

handleradapter(把处理器包装为适配器,是适配器设计模式的应用 )

viewresolver(把逻辑视图名解析为具体的view,如internalresourceviewresolver将逻辑视图名映射为jsp视图)

localresolver(本地化解析,因为spring支持国际化,因此localresolver解析客户端的local信息从而方便进行国际化)

themeresolver(主题解析,通过它来实现一个页面多套风格)

multipartresolver(文件上传解析)

handlerexceptionresolver (处理器异常解析,可以将异常映射到相应的统一错误界面)

requesttoviewnametranslator(当处理器没有逻辑视图名时,自动将请求url映射为逻辑视图名)

flashmapmanager (用于管理flashmap的策略接口,flashmap用于存储一个请求的输出,当进入另一个请求时作为该请求的输入,通常用于重定向场景)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: