spring_mvc
2016-11-18 13:57:26 0 举报
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过一套注解,快速简单的实现了请求驱动模型。它是Spring框架的一部分,是一个非侵入式(non-invasive)框架,可以很容易地与其他框架集成。Spring MVC提供了面向对象的方法来将应用程序的数据和业务逻辑分离开来,同时保持了代码的简洁性和可读性。它还提供了一些内置的功能,如表单验证、国际化、主题支持等,使得开发过程更加高效和便捷。Spring MVC适用于构建任何规模的Web应用程序,从小型的个人项目到大型企业级应用都可以轻松应对。
作者其他创作
大纲/内容
end!可以看到在这个处理过程中,DispatcherServlet是整个过程的入口,又是整个过程的指挥官。DS负责调用框架的各个组件(如HandleMapping、HandlerAdapter等),执行处理请求的每个子过程,最终返回处理结果给客户端
HandlerAdapter调用handler执行后返回结果ModelAndView
所有preHandle方法都返回true
这个过程用到了local对象
DispatcherServlet接收到客户端请求
根据ModelAndView中的model和view对象和request和local这四个参数,调用ViewResolver解析出相应的View
HandlerMapping根据请求返回相应的HandlerExecutionChain
Y
执行HandlerExecutionChain中所有HandlerInterceptor的preHandle方法
调用localeResolver解析出相应的locale
end!这种情况@Controller中的方法没有被调用。这里注意对于一个HandlerInterceptor,只要它的preHandle方法被调用,无论返回值是true还是false,它的afterCompletion方法一定会被执行
调用View对象的render方法绘制视图,render方法接受request、response、model三个参数
DS根据HandlerExecutionChain中的handler对象,获取相应的HandlerAdapter
当有任何一个HandlerInterceptor的preHandle方法返回false时,将会触发前面preHandle方法已经返回true的HandlerInterceptor中的afterCompletion方法以逆序的方式执行。
N
DS调用HandlerMapping
调用HandlerExecutionChain中所有HandlerInterceptor的afterCompletion方法
调用HandlerExecutionChain中所有HandlerInterceptor的postHandle方法,注意这时还没有对ModelAndView进行处理,也就是还没有render视图
Client
通过HandlerAdapter执行HandlerExecutionChain中的handler,这个handler就是@Controller对象
0 条评论
下一页