springmvc核心控制器是DispatchServlet。它内部原理是什么,请看下图:
1.客户端请求
2、判断是否是文件流
3、url的映射,根据url来查找相对应的handler。如果找不到对应的handler,抛错
4、在查找到Handler,即一个handlerExecutionChain,是否有拦截器
5、如果有拦截器,执行拦截器调用前动作
6、根据handler,来匹配相关的Ctroller。
7、执行某Ctroller方法。
8、成功返回ModelView.失败作最后的失败处理,即processHandlerException
9、渲染视图
10、渲染视图后作相关的处理动作。