什么是SpringMVC?
是一种设计模式,model,view,controller 。同时springMVC是一个基于mvc的web层框架
SpringMVC的组成是什么?
几个重要的组件:
1、前端控制器DispatcherServlet(不需要程序员开发)
作用接收请求,响应结果,相当于转发器,中央处理器。
有了DispatcherServlet减少了其它组件之间的耦合度。
2、处理器映射器HandlerMapping(不需要程序员开发)
作用:根据请求的url查找Handler(根据注解或者xml)
3、处理器适配器HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
4、处理器Handler(需要程序员开发)
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler
5、视图解析器View resolver(不需要程序员开发)
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)
6、视图View(需要程序员开发jsp)
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)
SpringMVC 的工作原理
1:客户端的请求发送到DispatcherServlet.
2:控制器DispatcherServlet调用映射器,确定请求有对应的处理器处理。同时返回一个执行链,里面包括处理器和拦截器的集合。
3:控制器来调用适配器,然后适配器调用合适的自定义处理器,来处理业务逻辑,处理完返回一个ModelAndView(包含了视图名称和数据)给适配器,最后传给控制器。
4:控制器去调用视图解析器,视图解析器通过视图名称解析具体的视图,然后返回具体的视图给控制器,
5:控制器开始渲染视图,获得渲染后的视图,响应视图给用户。