SpringMVC(设计模式原理).docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? SpringMVC(设计模式原理) ? ? 什么是 MVC 模式 ? ? MVC 是一种设计模式. MVC 的原理图如下: SpringMVC 简单介绍 ? ? SpringMVC 框架是以请求为驱动,围绕 Servlet 设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是 DispatcherServlet,它是一个 Servlet,顶层是实现的Servlet接口。 SpringMVC 使用 ? ? 需要在 web.xml 中配置 DispatcherServlet 。并且需要配置 Spring 监听器ContextLoaderListener listener listener-classorg.springframework.web.context.ContextLoaderListener /listener-class /listener servlet servlet-namespringmvc/servlet-name servlet-classorg.springframework.web.servlet.DispatcherServlet /servlet-class !-- 如果不设置init-param标签,则必须在/WEB-INF/下创建xxx-servlet.xml文件,其中xxx是servlet-name中配置的名称。 -- init-param param-namecontextConfigLocation/param-name param-valueclasspath:spring/springmvc-servlet.xml/param-value /init-param load-on-startup1/load-on-startup /servlet servlet-mapping servlet-namespringmvc/servlet-name url-pattern//url-pattern /servlet-mapping SpringMVC 工作原理 简单来说: ? ? 客户端发送请求- 前端控制器 DispatcherServlet 接受客户端请求 - 找到处理器映射 HandlerMapping 解析请求对应的 Handler- HandlerAdapter 会根据 Handler 来调用真正的处理器开处理请求,并处理相应的业务逻辑 - 处理器返回一个模型视图 ModelAndView - 视图解析器进行解析 - 返回一个视图对象-前端控制器 DispatcherServlet 渲染数据(Moder)-将得到视图对象返回给用户 如下图所示: 上图有个小问题:Spring MVC 的入口函数也就是前端控制器 DispatcherServlet 的作用是接收请求,响应结果。 流程说明: (1)客户端(浏览器)发送请求,直接请求到 DispatcherServlet。 (2)DispatcherServlet 根据请求信息调用 HandlerMapping,解析请求对应的 Handler。 (3)解析到对应的 Handler(也就是我们平常说的 Controller 控制器)后,开始由 HandlerAdapter 适配器处理。 (4)HandlerAdapter 会根据 Handler 来调用真正的处理器开处理请求,并处理相应的业务逻辑。 (5)处理器处理完业务后,会返回一个 ModelAndView 对象,Model 是返回的数据对象,View 是个逻辑上的 View。 (6)ViewResolver 会根据逻辑 View 查找实际的 View。 (7)DispaterServlet 把返回的 Model 传给 View(视图渲染)。 (8)把 View 返回给请求者(浏览器) SpringMVC 重要组件说明 1、前端控制器DispatcherServlet(不需要工程师开发),由框架提供(重要) ? ? 作用:Spring MVC 的入口函数。接收请求,响应结果,相当于转发器,中央处理器。有了 DispatcherServlet 减少了其它组件之间的耦合度。用户请求到达前端控制器,它就相当于mvc模式中的c,DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet的存在降低了组件之间的耦合性。 2、处理器映射器HandlerMapping(不需要工程师开发),由框架提供 ? ? 作用:根据请求的url查找Handler。HandlerMappin

文档评论(0)

科技之佳文库 + 关注
官方认证
内容提供者

科技赋能未来,创新改变生活!

版权声明书
用户编号:8131073104000017
认证主体重庆有云时代科技有限公司
IP属地浙江
统一社会信用代码/组织机构代码
9150010832176858X3

1亿VIP精品文档

相关文档