用户端的请求通过http协议到达前端控制器,前端控制器了解业务请求该由谁来处理,将请求代理给了控制器,控制器了解具体的业务细节,调用业务逻辑生成数据,并将数据返回给前端控制器,前端控制器将业务数据分发给业务视图,业务视图将呈现好的页面返还给前端控制器,返回用户浏览器。
mvc的核心思想是业务数据的抽取同业务数据的呈现相分离。mvc是一种架构模式,程序分层,分工合作,既相互独立又协同工作。
springmvc的静态概念
DispatcherServlet这个类就是前端控制器Controller 控制器,用于生成业务数据模型HandlerAdapter,DispatcherServlet通过它来知道去调用哪个Controller,是一个适配器模式。HandlerInterceptor,是一个拦截器接口,通过方法在拦截前后做一些操作。HandlerMapping处理前端控制器和controller之间映射关系的类。HandlerExecutionChain,handler执行链HandlerInterceptor的preHandlle方法--Controller的某个方法--postHandle方法--afterCompletion方法。ModelAndView,springmvc会将model类、javamap类转化为ModelAndView类。ViewResolver视图解析器,View界面springmvc的动态概念
1.用户请求request发送给DispatcherServlet,通过HandlerMapping找到对应的Controller或HandlerInterceptor中具体的方法得到数据,形成一个Handler或HandlerAdapter再返回给DispatcherServlet,。主要通过注解实现
2.ModelAndView完成模型和视图之间的映射,DispatcherServlet通过ViewResolver找到对应的视图,形成页面返回给浏览器。说明:主要需要编写的就是Controller或HandlerInterceptor中具体的方法和相应注解配置。