温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringMVC面试题有哪些

发布时间:2022-01-10 10:19:11 来源:亿速云 阅读:151 作者:iii 栏目:编程语言

这篇“SpringMVC面试题有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringMVC面试题有哪些”文章吧。

  Spring MVC是spring框架的一个模块,是基于MVC的轻量级Web框架。Spring是目前Web开发中的一个很重要的部分。

  一、SpringMVC有什么优点?


  SpringMVC是一个典型教科书式的MVC框架,对于初学者而言是非常好的。其他优点可以概括为:
  1、SpringMVC可以支持各种试图技术,而不仅仅局限于JSP;
  2、与Spring框架集成(如IoC容器、AOP等);
  3、清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver);
  4、支持各种请求资源的映射策略;


  二、SpringMVC的主要组件有什么?


  (1)前端控制器 DispatcherServlet。接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。
  (2)处理器映射器HandlerMapping。根据请求的URL来查找Handler。
  (3)处理器适配器HandlerAdapter。在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。
  (4)处理器Handler。编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler。
  (5)视图解析器 ViewResolver。进行视图的解析,根据视图逻辑名解析成真正的视图(view)。
  (6)视图View。View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)。


  三、SpringMVC和Struts2的区别有哪些?


  1、springmvc的入口是一个servlet即前端控制器(DispatchServlet),而struts2入口是一个filter过虑器(StrutsPrepareAndExecuteFilter)。
  2、springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
  3、Struts采用值栈存储请求和响应的数据,通过OGNL存取数据,springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过reques域传输到页面。Jsp视图解析器默认使用jstl。


  四、SpringMVC的使用流程


  (1)用户发送请求至前端控制器DispatcherServlet;
  (2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;
  (3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
  (4)DispatcherServlet 调用 HandlerAdapter处理器适配器;
  (5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);
  (6)Handler执行完成返回ModelAndView;
  (7)HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet;
  (8)DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;
  (9)ViewResolver解析后返回具体View;
  (10)DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)
  (11)DispatcherServlet响应用户。

以上就是关于“SpringMVC面试题有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI