作者:动力节点
链接:https://www.zhihu.com/question/362802033/answer/959376348
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。模型(Model )封装了应用程序的数据和一般他们会组成的POJO。视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。控制器(Controller )负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。Spring的web模型 - 视图 - 控制器(MVC)框架是围绕着处理所有的HTTP请求和响应的DispatcherServlet的设计。Spring Web MVC处理请求的流程<img src="https://pic1.zhimg.com/50/v2-2bcf31d4c3cbf754e28f21df482f8287_hd.jpg?source=1940ef5c" data-caption="" data-size="normal" data-rawwidth="815" data-rawheight="340" data-default-watermark-src="https://pic4.zhimg.com/50/v2-b007ed72e5eb11a9bfd7535084cbdab8_hd.jpg?source=1940ef5c" class="origin_image zh-lightbox-thumb" width="815" data-original="https://pic4.zhimg.com/v2-2bcf31d4c3cbf754e28f21df482f8287_r.jpg?source=1940ef5c"/>具体执行步骤如下:1、 首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;4、 前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。二、Spring2.1、IOC容器:IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IOC容器进行组装。在Spring中BeanFactory是IOC容器的实际代表者。2.2、AOP:简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP代表的是一个横向的关系
较早一点的有:
Hibernate/Struts2/Spring 常见整合SSH(老项目,三四线政府项目都还在用)
Ibatis/Struts2/Spring 常见整合SSI(基本见不着了)
近年的:
Spring/SpringMVC/MyBatis常见整合SSM(几乎四年前左右的项目都还在用)
最新的:
Spring/SpringMVC/SpringBoot/MyBatisPlus/SpringClude
当然还有一下必备知识:
redis/shiro/docker/等
本人博客目前在撰写文档,也是菜鸟,互关学习!!!
pring springMVC springboot mybatis shiro 开发java web 项目足够了
springboot
springcloud alibaba