今天教大家如何解答面试官提问:说说你对SpringMVC的理解?
关于这个问题我会从几个方面来进行回答
首先SpringMVC是属于Spring Framework 生态里面的一个模块,他是在servlet的基础上构建并且使用了MVC模式设计的一个Web框架,他的主要目的是为了简化传统的 Servlet+JSP 模式下的Web开发方式。
其次SpringMVC的整个架构设计是对Web里面的MVC框架模式做了一些增强和扩展,主要体现在几个方面:
- 把传统的MVC框架里面的Controller控制器进行了拆分,分成了前端控制器DispatcherServlet 和 后端控制器Controller
- 把Model模块拆分成为业务层Service和数据访问层Repository
- 在视图层,可以支持不同的视图,比如Freemark,velocity,JSP等等
所以SpringMVC天生就是为MVC模式而设计的,因此在开发MVC应用的时候会更加方便和灵活。
最后说一下 SpringMVC 的执行流程:
浏览器的请求首先会去经过SpringMVC里面的前端控制器DispatcherServlet,他主要是把请求分发到对应的Controller里面,而Controller里面处理完业务逻辑后,会返回一个ModelAndView,然后前端控制器DispatcherServlet 会去寻找一个或者多个ViewResolver视图解析器,找到 ModelAndView 指定的视图,并且把数据展示到客户端。
以上就是我对SpringMVC的理解!!!