自己解读springMVC运行原理的总结。
springmvc是单例,还是多例的?
运行时看构造函数执行几遍,如果每次请求只执行一次,就知道他是单例,如果是多次,就多例。
servlet是不是单例,还是多例的?
是单例的,且不能设置全局变量,只要你共享,会造成数据冲突。
springmvc和servlet是不是线程安全的?
springmvc和servlet都是不安全的。
1.到web.xml加载dispatcherServlet(中央处理器)。
2.调用处理器映射器找到处理器。(handlerMapping)
3.返回handlerExecutionChain(处理器对象和处理器拦截器)
4.通过处理器适配器调用具体处理器(handlerAdapter适配器模式)
5.调用处理器(找到对应的controller去执行)
6.返回modelandview给dispatcherServlet
7.视图渲染并展示。
MVC具体执行流程:
dispatcherServlet ---- doSerivce(处理请求) ---- doDispatch(加载地址) ---- getHandler(去查询这个地址(方法)是否存在) --- getHandlerAdapter(查找对应适配器对象) --- handle(实例跳转)
本站博客:www.wurao.xin