SpringMVC概述

168 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第20天,点击查看活动详情

1、SpringMVC的概述

SpringMVC是一个Web层(控制层)的框架,主要用来负责与客户端(浏览器端)交互,以及业务逻辑的调用。
Spring框架是Service层(业务访问层)的框架。 SpringMVC的特点是简单、易用,性能佳。
SpringMVC替代了之前的Struts2框架,也是用于替代Servlet技术的功能。

2、SpringMVC相比Servlet技术的优势

  • (1)Servlet的开发配置相对麻烦,Servlet特别多的时候web.xml文件就会非常臃肿
  • (2)每个Servlet都只能处理一个功能,如果需要多个功能就需要开发多个Servlet,项目中存在大量的Servlet也会显得臃肿。
  • (3)获取请求参数进行类型转换,包括封装到bean的过程比较繁琐。
  • (4)其它开发中不方便的地方,例如:乱码问题、数据格式的处理、表单的验证等等。

3、SpringMVC的组件

(1)前端控制器(DispatcherServlet)

本质上前端控制器DispatcherServlet是一个Servlet,相当于一个中转站,所有的访问都会走到这个Servlet中,在根据配置进行中转到响应的Handler(处理器)中进行处理,获取到数据和视图后,在使用相应视图做出响应。

(2)处理器映射器(HandlerMapping)

本质上是一段映射关系,将访问路径和对应的Handler存储为映射关系,在需要时供前端控制器查阅。

(3)处理器适配器(HandlerAdapter)

本质上就是一个适配器,可以根据配置的要求找到对应的Handler来运行。前端控制器通过处理器映射器找到对应的Handler信息之后,将请求响应和对应Handler信息交由处理器适配器处理,处理器适配器找到真正的Handler来执行,Handler执行,会产生一个ModelAndView类型的结果返回给前端过滤器。

(4)视图解析器(ViewResolver)

本质上也是一个映射关系,可以将视图名称映射到真正的视图地址。 前端控制器调用处理器适配器完成后得到ModelAndView结果,将View信息传递给视图解析器得到真正的View(浏览器端的JSP页面)。

(5)视图(View)

本质上是将Handler处理器中返回的Model数据嵌入到视图解析器解析后得到的jsp页面中,向浏览器端做出响应。