SpringMVC简介

SpringMVC简介,第1张

SpringMVC简介

MVC 设计不仅限于 Java Web 应用,还包括许多应用,比如前端、PHP、.NET 等语言。之所以那么做的根本原因在于各个模块的解耦。
MVC 是 Model、View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责。
(1)、模型:用于存储数据以及处理用户请求的业务逻辑。
(2)、视图:向控制器提交数据,显示模型中的数据。
(3)、控制器:根据视图提出的请求判断将请求和数据交给哪个模型处理,将处理后的有关结果交给哪个视图更新显示

介绍 一下:
springMVC它为控制器和处理程序提供了大量与此模式相关的功能。并且当向 MVC 添加反转控制(Inversion of Control,IoC)时,它使应用程序高度解耦,提供了通过简单的配置更改即可动态更改组件的灵活性。
SpringMVC框架是高度可配置的,包含多种视图技术,比如:jsp、Velocity、themlefy等。SpringMVC框架并不关心使用的视图技术,也不会去强迫开发者只使用jsp技术,但教程中使用的视图是jsp。
Spring MVC 框架处理用户请求的完整流程和处理中包含的 4 个接口。
Spring MVC初学重点掌握的4个接口分别是:

  1. DispatcherServlet :Spring MVC 所有的请求都经过 DispatcherServlet 来统一分发,在 DispatcherServlet 将请求分发给Controller之前需要借助 Spring MVC 提供的 HandlerMapping 定位到具体的 Controller。
  2. HandlerMapping :HandlerMapping 接口负责完成客户请求到 Controller 映射。
  3. Controller:Controller接口将处理用户请求,这和 Java Servlet 扮演的角色是一致的。一旦 Controller 处理完用户请求,将返ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。从宏观角度看DispatcherServlet是整个 Web 应用的控制器;从微观考虑,Controller 是单个 Http 请求处理过程中的控制器,而 ModelAndView 是 Http 请求过程中返回的模型(Model)和视图(View)。
  4. ViewResolver :ViewResolver 接口(视图解析器)在 Web 应用中负责查找 View 对象,从而将相应结果渲染给用户。
  5. 用户发送请求至前端控制器DispatcherServlet。
  6. DispatcherServlet收到请求,调用HandlerMapping处理器映射器。
  7. 处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器一并返回给DispatcherServlet。
  8. DispatcherServlet调用HandlerAdapter适配器。
  9. HandlerAdapter经过适配调用具体的处理器(一般是开发人员编写的Controller)。
  10. Controller执行完成返回ModelAndView。
  11. HandlerAdapter将Controller执行结果ModelAndView返回DispatcherServlet。
  12. DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
  13. ViewReslover解析后返回具体View。
  14. DispatcherServlet根据View进行渲染视图。
  15. DispatcherServlet响应用户。
    工作流程图:

配置文件的xml
在src目录下创建Spring MVC的配置文件 xxx.xml :
//使用扫描机制扫描控制器类,控制器类都在controller包及其子包下 包含了的功能


//配置视图解析器 使用JSP

 

视图路径前缀 /WEB-INF/jsp/目录

 

视图的后缀 JSP的后缀为.jsp

 

在JavaWeb 项目的web.xml中配置SpringMVC的核心

/

注意:
/ 表示的为只匹配/login和/demo,后面不带.xxx的 /* 表示匹配的为所有,包括.jsp、.js、.html等 在Spring中的Springmvc配置中url-pattern应该使用/。不然会导致jsp页面都被DispatcherServlet给转发了,无法被解析。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5684475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存