Spring MVC
MVC是软件设计的一种范畴,是将系统分为三个部分,分别是M(模型层),V(视图层),C(控制层)
模型层(model):用于处理业务和数据(数据访问层,业务逻辑层)事务,service,dao,entity,mybatis
视图层(view):网页界面,是和用户进行交互的,JSP,Html
控制层(Controller):接收处理用户的请求,响应数据给视图层,或进行跳转,servlet,filter,spring MVC
springMVC工作原理
(1)客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.
(2)DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。
(3)DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。
(4)Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。
(5)Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。
(6)Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。
DispatcherServlet
前端控制器,实际上是一个Servlet (它继承了HttpServlet)。与其它Servlet一样, DispatcherServlet定义在web应用的web.xml文件中。 DispatcherServlet处理的请求必须在同一个web.xml文件里使用url-mapping定义映射。 下面的例子演示了如何配置DispatcherServlet。