1. Spring MVC是什么

是一个简化web应用开发的框架,将Modle、Controller和View进行分离,把复杂的逻辑拆分开来,方便开发人员配合开发

2. Spring MVC请求的流程

  1. 用户发送请求至前端控制器DispatchServlet
  2. 根据请求的映射从HandleMapping中找到相应的Handle
  3. 通过处理适配器调用Handle(及Controller),获取视图模型
  4. 通过视图解析器获取视图
  5. 将视图进行渲染返回给浏览器
    在这里插入图片描述

注:如果是REST风格的请求,也就是在Controller的方法上加了@ResponseBody的注解,则会跳过视图解析器,而是通过配置的消息转换器将数据转换成相应的格式进行返回

3. Spring MVC与Struts2的区别

  1. Spring MVC的入口是DispatchServlet,而Struts2使用的是Filter,Spring MVC的效率更高
  2. Spring MVC是基于方法开发,请求参数传递给方法的参数,可以为多例和单例,建议单例,而Struts2是基于类来开发,请求参数是通过类的属性,只能设计为多例
  3. Spring MVC的参数是通过参数解析器解析Request请求,返回参数是通过将数据封装成ModleAndView对象,再通过request域传输到页面,Struts2的参数和返回值是通过值栈传递

参考

SpringMVC常见面试题总结(超详细回答)

Logo

OpenTiny 是企业智能前端开发解决方案,以生成式 UI 和 WebMCP 两大自主核心技术为基础,加速企业应用的智能化改造。我们会在社区定期为大家分享一些前后端的技术文章。

更多推荐