1. 请求进入到web.xml,web.xml配置了springMvc的前端控制器。进入到前端控制器(spring框架的核心)
2. HandlerMapping 用于查询所有的controller(handler),返回一个handler对象。
3. DispatcherServlet拿到了handler,指派这个处理器适配器(handlerAdpter)去执行handler
4. Handler返回一个ModelAndView视图导航给处理器
5. DispatcherServlet拿到了ModelAndView,指派ViewResolver(视图解析器)(.jsp)解析成html返回给DispatcherServlet,DispatcherServlet返回请求
Spring由什么组成?
核心控制器,3大组件(HandlerMappering[处理器,映射器],HandlerAdapter[处理器适配器],ViewResolver[视图解析器]),handler(controller) view(jsp)
一个model 2规范实现的web框架
视图层采用jsp实现;控制层采用servlet实现,整个框架采用同一个servlet,以实现请求的中转;模型层采用java实现,主要决定要做什么;在模型层添加一个到,目的是将决定做什么和具体做什么怎么分开。
整个web框架大致的流程是:首先客户端发送请求,提交jsp页面给中转器(servlet);中转器根据客户的请求,选择相应的模型,即logic,logic进行相应的逻辑处理;如果需要使用数据库,则通过dao进行相应的数据库操作。
Spring mvc 是结构最清晰的MVC Model2实现。它的Action也不叫Action,而是称作Controller;controller接收request,response参数,然后返回ModelAndView(其中的Model不是Object类型,而是Map类型)但是其他的Web Frame work中,Action返回值一般只是一个View Name;Model则需要通过其它的路径(如request.attribute,Context参数,或Action本身的属性数据)传递上去。