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博客
————————————————————————————————
感谢阅读,码字不易,多谢点赞!如有不当之处,欢迎反馈指出,感谢!