SpringMvc :
在Servlet基础之上,构建并使用MVC模式设计的一个web框架,简化了传统的servlet加jsp模式下的web开发模式
SpringMvc对Java web里面的MVC架构模式 做了增强和扩展 主要体现如下
1 把传统MVC框架的controller控制器做了拆分,分成了前端控制器dispatcherServlet和后端控制器controller
2 把model模型拆分成了业务层Service和数据访问层Repository
3 在视图层面 , 可以支持不同的视图 如freemark,jsp\等等
SpringMvc工作流程
1,用户发起请求 , 请求被servlet拦截,拦截后转发给springMvc框架
2,springMvc里的DispatcherServlet(核心控制器)会接受到请求,并转发给handlerMapping
3.handlerMapping负责解析请求,根据请求信息和配置信息,找到匹配的controller类(如果配置了拦截器,则按照顺序来执行拦截器prehandle方法)
4.找到匹配的controller以后,会把请求参数,传递给controller里面的方法
5.controller里面的方法执行完以后,会返回一个ModelAndView,这里会包括视图名称,和需要传递给视图的模型数据
6.视图解析器会根据名字找到视图,然后把数据模型填充到视图里面,渲染成Html内容返回给客户端