码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC: web.xml中声明DispatcherServlet时一定要加入load-on-startup标签

时间:2016-01-16 21:03:49      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

游历SpringMVC源代码后发现,在web.xml中注冊的ContextLoaderListener监听器不过初始化了一个根上下文,只完毕了组件扫描和与容器初始化相关的一些工作,并没有探測到详细每一个URL应当map到哪个Controller, 哪个方法上。而剩一下的这些复杂工作都是由DispatcherServet来完毕的,即应用server载入DispatcherServlet调用init()方法时才干触发这项工作。所以,假设在web.xml中配置DispatcherServlet时不设置

<load-on-startup>1</load-on-startup>

的话,那么非常有可能应用server会在当用户实际訪问请求到来时才载入DispatcherServlet。这种话注冊Controller, 解析request method, 注冊RequestMapping, HandlerAdapter这种初始化工作都会在响应请求时进行,就会大大延长第一个请求的处理时间。

另外,DispatcherServlet持有了根容器的子容器引用,大量的状态信息都保存在它和它的父类其中。假设这个servlet中途被应用server销毁。那么也会带来又一次载入的时间开销。

以上仅理论猜測。未实际測试

SpringMVC: web.xml中声明DispatcherServlet时一定要加入load-on-startup标签

标签:

原文地址:http://www.cnblogs.com/yxwkf/p/5136226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!