SpringMVC的工作流程

1、SpringMVC的定义

Spring MVC是基于Java的开源Web框架,它是Spring框架的一部分,用于构建MVC(Model-View-Controller)模式的Web应用程序。它提供了一种灵活且强大的方式来开发Web应用程序,并将应用程序的不同层进行解耦。

图片来源:https://zhuanlan.zhihu.com/p/573936691

在Spring MVC中,模型(Model)表示应用程序的数据和业务逻辑;视图(View)负责呈现数据给用户;控制器(Controller)处理用户请求、调用适当的模型处理逻辑,并将结果传递给视图进行展示。

Spring MVC借助于DispatcherServlet作为前端控制器,它是整个请求处理流程的核心。它负责接收所有的HTTP请求,并将请求分发给相应的处理器(Controller),然后处理器执行具体的业务逻辑,并返回模型数据给DispatcherServlet。最后,DispatcherServlet选择合适的视图进行渲染,将响应返回给客户端。

Spring MVC提供了丰富的特性和功能,包括请求映射、参数绑定、数据验证、数据转换、拦截器、国际化支持、文件上传等。它还与其他Spring项目(例如Spring Boot、Spring Security)集成得非常紧密,可以轻松地构建复杂的Web应用程序。

2、Spring 、Spring Boot、Spring MVC有什么区别?

 图片来源:https://zhuanlan.zhihu.com/p/573936691

3、SpringMVC的工作流程

图片来源:https://blog.51cto.com/u_15280110/3195954

3.1 发送请求

用户发送一个Http请求到web服务器,web服务器解析http请求,匹配到DispatcherServlet的请求映射路径(在web.xml文件中配置,后面专门有web.xml文件配置解析),web容器将请求转交给DispatcherServlet。

3.2 委托请求给处理器

DispatcherServlet接收到这个请求之后,根据http请求以及HandlerMapping中的配置(包括请求方法等),找到处理请求的处理器Handler。

 图片来源:https://blog.51cto.com/u_15280110/3195954

3.3 处理器适配器具体调用

找到处理请求的处理器Handler之后,此时的请求处理权就交给了Handler,然后Handler将具体的处理进行封装,再由具体的处理器适配器(HandlerAdapter)进行具体的调用。

3.4 返回ModelAndView逻辑视图对象

Handler执行完毕之后会向DispatcherServlet 返回一个ModelAndView对象。而这个ModelAndView对象是一个逻辑视图,并不是正式的视图。

3.5 视图渲染

DispatcherServlet接收到ModelAndView对象之后,通过ViewResolver对ModelAndView对象进行渲染,将逻辑视图转换为真正的View。

3.6 返回给客户端视图

DispatcherServlet通过Model解析ModelAndView的参数并最终返回给客户端视图信息。

4、使用SpringMVC

  • 将用户的访问(浏览器)和 后端Java 程序连接起来,即访问一个地址能够调用到我们的 Spring 程序。
  • 获取数据,用户访问的时候会添加一些参数,在程序中需要获取到这些数据。
  • 输出数据:执行了业务逻辑之后,需要把程序执行的结果返回给前端用户。

总而言之,Spring MVC是一个成熟、稳定且功能强大的Web框架,它简化了开发人员构建和管理Web应用程序的工作,提供了良好的可扩展性和灵活性。

参考:

【SSM】Spring MVC 程序开发(重点:SpringMVC 工作流程) - 知乎

SpringMVC工作执行流程详解_51CTO博客_springmvc执行流程

SpringMVC新手教程_在springmvc中创建了一个servlet类要用到service接口的对象该用哪个注解-CSDN博客

————————————————————————————————

感谢阅读,码字不易,多谢点赞!如有不当之处,欢迎反馈指出,感谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值