为什么要学spring Mvc?
1.轻量级
2.高效,基于请求响应的mvc框架内
3.与Spring兼容性号,无缝结合
4.约定优于配置
5.功能强大:RESTful,数据验证,格式化,本地化,主题等.
6.简洁灵活
7.当然也是用的人较多(个人见解)
中心控制器
Spring的web框架主要围绕DispatcherServlet[调度Servlet]设计。DispatcherServlet的作用是将所有请求分发到不同的处理器。Spring 2.5开始,使用Java 5 以上的用户采用基于注解的Controller声明方式。
Spring Mvc框架像许多其他Mvc框架一样,都是以请求为驱动,围绕一个中心Servlet分派请求提供其他功能,DispatcherServlet本质上也是一个Servlet(主要继承自HttpServlet),只是它做了很多智能的判断.
SpringMvc原理
当前端页面发出请求时,被前置的控制器拦截到请求,根据请求参数生成代理请求,找到对应请求的实际控制器,控制器处理请求(数据加密,判断格式等),创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图渲染视图内容,将结果返回给中心控制器,再将结果返回至前端用户。
SpringMvc原理(文本讲义)
HeardlerMapping:处理器映射。Handler adapter:处理器适配器。View Resolver:视图解析器。
1.用户请求发送至前端控制器DispatcherServlet
2.DsipatcherServet收到请求调用HandlerMapping(处理映射器)根据请求找到Handler.
3.HandlerExecution表示具体的Handler,找到控制器.
4.HandlerExecution将解析后的信息传递给DispatcherServlet。
5.DispatcherServlet将调用HandlerAdapter表示处理适配器,其按照特定的规则去执行Handler。
6.Handler让具体的Controller去执行。
7.Controller将执行的信息返回给HandlerAdapter。如ModelAndView
8.HandlerAdapter将视图逻辑名和模型传递给DispatcherServlet
9.DispatcherServlet 调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图和名。
10.视图解析器将解析的逻辑视图名传递给DispatcherServlet.
11.DispatcherServlet根据视图解析器的视图结果,调用具体的视图.
12.最终视图呈现给用户。
至此SpringMvc原理笔记结束。本人所理解,如果纰漏,请各位指出。