一、先介绍一下简单的SpringBoot框架
1.1、什么是SpringBoot
从本质来说SpringBoot就是Spring,它去掉了Spring繁琐的XML配置,只需少量配置即可。
1.2、SpringBoot优点
(1)去配置化,简便开发
(2)提供嵌入式HTTP服务器,如Tomcat,可以轻松地开发和测试
(3)提供命令行接口(CLI)工具,可用于开发和测试
1.3、RESTful 风格介绍
传统MVC模式开发会直接返回给客户端一个视图,但是RESTful Web服务返回JSON形式(前后端分离)
二、Spring MVC框架介绍
2.1、什么是MVC模式
MVC可以理解为一种设计模式
SpringMVC框架是以请求为驱动,围绕Servlect设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图(其中核心类是DispatcherServlet,它是一个Servlect,顶层实现Servlect接口)
2.2、SpringMVC的使用
需要在哎web.xml中配置DispatcherServlect,需要配置Spring监听器ContextLoaderListener
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!-- 如果不设置init-param标签,则必须在/WEB-INF/下创建xxx-servlet.xml文件,其中xxx是servlet-name中配置的名称。 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
2.3、SpringMVC工作原理
(1)客户端发送请求
(2)——>前端控制器DispatcherServlect接受客户端请求
(3)——>找到处理器映射HandlerMapping解析请求对应的Handler
(4)——>HandlerAdapter 会根据Handler 来调用真正的处理器处理请求(适配器模式),并处理相应业务逻辑
(5)——>处理器返回一个模型视图ModelAndView
(6)——>视图解析器解析
(7)——>返回一个视图对象
(8)——>前端控制器DispatcherServlect渲染数据
(9)得到视图对象返回给客户
如下图:
2.4、SpringMVC重要组件说明
(1)前端控制器DispatcherServlect(不需要开发,框架提供)
作用:Spring MVC 的入口函数,接收请求响应结果,相当于“中央处理器”,相当于MVC中的C,由它调用其他组件处理用户请求,降低了组件之间的耦合。
(2)处理器映射器HandlerMapping(不需要开发,框架提供)
作用:根据用户请求的URL查找Handler处理器(Controller)。
(3)处理器适配器handlerAdapter(不需要开发,框架提供)
作用:按照特定规则按去执行Handler处理器,是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
(4)处理器Handler(需要开发)
(也就是Controller控制器)
类似于DispatcherServlect前端控制器的后端控制器,在DispatcherServlect控制下,Handler对具体用户请求进行处理。
(5)视图解析器View resolver(不需要开发,框架提供)
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view),负责处理结果生成View视图对象,最后通过View渲染处理结果通知页面展示给用户。
(6)视图View(需要开发)
View是一个接口,实现类支持不同的View类型
注意:处理器Handler和View都需要自己开发
上一篇:Spring