springmvc工作流程是?
springmvc工作流程如下。
客户端发送请求;核心控制器Dispatcher Servlet接收到请求,通过系统或映射器配置找到对应的handler,并将控制器controller返回给核心控制器。
通过核心控制器找到系统或默认的适配器;由找到的适配器,调用实现对应接口的处理器,并将结果返回给适配器,再由适配器返回给核心控制器。
核心控制器将获取的数据和视图结合的对象传递给视图解析器,获取并且解析得到的结果,并由视图解析器响应给核心控制器;核心控制器最后将结果返回给客户端。
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等等。
SpringMVC提供了总开关DispatcherServlet;请求处理映射器和处理适配器,视图解析器(View Resolver)进行视图管理;动作处理器Controller接口(包含ModelAndView,以及处理请求响应对象request和response),配置灵活,支持文件上传,数据简单转化等强大功能。
(1)客户端通过url发送请求。
(2)核心控制器Dispatcher Servlet接收到请求,通过系统或自定义的映射器配置找到对应的handler,并将url映射的控制器controller返回给核心控制器。
(3)通过核心控制器找到系统或默认的适配器。
(4)由找到的适配器,调用实现对应接口的处理器,并将结果返回给适配器,结果中包含数据模型和视图对象,再由适配器返回给核心控制器。
优点
Lifecycle for overriding binding, validation, etc,易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。
它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得 spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比 struts所具有的优势。而且框架本身有代码,看起来容易理解。