博学谷 > 资讯 > Java > SpringMVC面试题集锦

原创 SpringMVC面试题集锦

发布时间:2019-11-19 18:29:43 浏览 132 来源:博学谷 作者:枫调

      Spring MVC是spring框架的一个模块,是基于MVC的轻量级Web框架。Spring是目前Web开发中的一个很重要的部分。尤其在企业招聘相关开发者的时候,有大量的笔试和面试题目都与springMVC有关,下面是小编为大家整理的关于springMVC的一些面试题!

     

    SpringMVC面试题集锦


      一、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响应用户。


      面试仅仅是进入企业的敲门砖,对于Java开发者而言,真正的实战技术才是职场晋升的保障。想学习更多SpringMVC相关实战技能,可以通过博学谷《Java开发全终端实战租房项目》学习,课程中包含目前主流后端技术框架SpringBoot、SpringMVC、Mybaits、Dubbo等来实现一个完整的租房项目。让你不仅仅掌握技术知识,更重要的是拥有实战能力。课程链接https://www.boxuegu.com/promote/detail-1234.html

上一篇:Java技术未来发展前景如何? 下一篇:Git常用命令速查手册

相关推荐 更多

最新文章

扫描二维码,回复"Java"获取180G资料包