Spring源代码解析(四):Spring MVC - 编程入门网
可以指定顺序,直到找到第一个,然后返回。先找到一个 handlerMapping,然 后通过这个handlerMapping返回一个执行链,里面包含了最终的Handler和我们定义的一 连串的 Interceptor。具体的我们可以参考上面的SimpleUrlHandlerMapping的代码分析 知道getHandler是怎样得到一个 HandlerExecutionChain的。
得到HandlerExecutionChain以后,我们通过HandlerAdapter对这个Handler的合法性 进行判断: 代码
Spring源代码解析(四):Spring MVC(7)时间:2011-03-29 javaeye jiwenke通过判断,我们知道这个handler是不是一个Controller接口的实现,比如对于具体的 HandlerAdapter - SimpleControllerHandlerAdapter: 代码
简单的判断一下handler是不是实现了Controller接口。这也体现了一种对配置文件进 行验证的机制。 让我们再回到DispatcherServlet看到代码: 代码 mv = ha.handle(processedRequest, response, mappedHandler.getHandler()); 这个就是对handle的具体调用!相当于Command模式里的Command.execute();理所当然 的返回一个ModelAndView,下面就是一个对View进行处理的过程: 代码
调用的是render方法: 代码
Spring源代码解析(四):Spring MVC(8)时间:2011-03-29 javaeye jiwenke从整个过程我们看到先在ModelAndView中寻找视图的逻辑名,如果找不到那就使用缺 省的视图,如果能够找到视图的名字,那就对他进行解析得到实际的需要使用的视图对象 。还有一种可能就是在ModelAndView中已经包含了实际的视图对象,这个视图对象是可以 直接使用的。 不管怎样,得到一个视图对象以后,通过调用视图对象的render来完成数据的显示过 程,我们可以看看具体的JstlView是怎样实现的,我们在JstlView的抽象父类 AbstractView中找到render方法: 代码
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |