SpringMVC 介绍和使用

发布于 2023-02-06 13:01:53 字数 2044 浏览 74 评论 0

JSP-Servlet 工作时序图

从客户端发起的请求到 Servlet(C),经过处理 Model(M),转发至视图 View(V)

SpringMVC 工作时序图

SpringMVC 实现并没有脱离上述核心过程,只不过对 JSP-Servlet 进行了封装,简化开发流程,提供了额外的基于注解的 url 映射,http 表单参数转换,全局异常处理,拦截器实现等。 SpringMVC 提供了统一的请求入口 DispatchServlet,识别请求由那个 Servlet 处理业务,业务 Servlet 处理完成后返回处理结果,DispatchServlet 转发至视图处理器形成 View,响应给客户端

SpringMVC 工作流程图

几个关键类

  • HandlerMapping:configure 中的映射,一个 DispatchServlet 中可配置多个 HandlerMapping,请求到来,通过 doHandler 遍历 HandlerMapping 并返回HandlerExecuteChain(包含了拦截器)。
  • HandlerAdapter:适配器模式,声明支持的Handler,通过调用 handler 方法,适配到业务 Servlet
  • BusinessServlet处理完成后返回 ModelAndView 对象
  • ViewResolver:处理返回的 ModelAndView,返回 View name
  • View:返回 response
  • HandlerExceptionResolver:处理异常
  • HandlerInterceptor:拦截器(和 AOP,过滤器重复,在开发中用一种即可,否则容易迷惑)

SprigMVC

1:JSP-Servlet,从客户端发起的请求到 Servlet(C),经过处理 Model(M),转发至视图 View(V)

2:SpringMVC 实现并没有脱离上述核心过程,只不过对 JSP-Servlet 进行了封装,简化开发流程,提供了额外的基于注解的 url 映射,http 表单参数转换,全局异常处理,拦截器实现等。

3:SpringMVC 提供了统一的请求入口 DispatchServlet,识别请求由那个 Servlet 处理业务,业务 Servlet 处理完成后返回处理结果,DispatchServlet 转发至视图处理器形成View,响应给客户端

4:体系结构

  • 4.1:HandlerMapping:configure 中的映射,一个 DispatchServlet 中可配置多个 HandlerMapping,请求到来,通过 doHandler 遍历 HandlerMapping 并返回HandlerExecuteChain(包含了拦截器)。
  • 4.2:HandlerAdapter:适配器模式,声明支持的 Handler,通过调用 handler 方法,适配到业务 Servlet
  • 4.3:BusinessServlet处理完成后返回 ModelAndView 对象
  • 4.4:ViewResolver:处理返回的 ModelAndView,返回 View name
  • 4.5:View:返回 response
  • 4.6:HandlerExceptionResolver:处理异常
  • 4.7:HandlerInterceptor:拦截器(和 AOP,过滤器重复,在开发中用一种即可,否则容易迷惑)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

往昔成烟

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

安静被遗忘

文章 0 评论 0

喔爱吃橙子

文章 0 评论 0

草莓味的萝莉

文章 0 评论 0

梦里兽

文章 0 评论 0

mb_83J3Cyxa

文章 0 评论 0

时间海

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文