原创 JavaEE框架面试题五问

发布时间:2019-07-31 20:47:36 浏览 4149 来源:博学谷资讯 作者:照照

    小编整理了有关JavaEE框架面试题,虽然只有五道,但是却是比较经典且难以回答的问题,希望可以帮到大家。

     

    JavaEE框架面试题

     

    一、简单的谈一下SpringMVC的工作流程?

     

    1、用户发送请求至前端控制器DispatcherServlet

     

    2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。

     

    3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

     

    4、DispatcherServlet调用HandlerAdapter处理器适配器

     

    5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

     

    6、Controller执行完成返回ModelAndView

     

    7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

     

    8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器

     

    9、ViewReslover解析后返回具体View

     

    10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

     

    11、DispatcherServlet响应用户

     

    二、SpringMVC与Struts2的主要区别?

     

    1、springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。

     

    2、springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。

     

    3、Struts采用值栈存储请求和响应的数据,通过OGNL存取数据,springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。Jsp视图解析器默认使用jstl。

     

    三、什么是mybatis接口绑定有什么好处?

     

    接口映射就是在IBatis中任意定义接口,然后把接口里面的方法和SQL语句绑定,直接调用接口方法就可以,这样比起原来了SqlSession提供的方法可以有更加灵活的选择和设置.

     

    四、mybatis动态sql如何实现的?

     

    MyBatis里面的动态Sql一般是通过if节点来实现,通过OGNL语法来实现,但是如果要写的完整,必须配合where,trim节点,where节点是判断包含节点有内容就插入where,否则不插入,trim节点是用来判断如果动态语句是以and 或or开始,那么会自动把这个and或者or取掉。

     

    五、mybatis与Hibernate区别?

     

    二者都是orm映射框架,mybatis映射体现在sql上,Hibernate体现在实体类设计上。

     

    mybatis学习难度小,Hibernate难度大,但是一旦掌握Hibernate开发周期短,基本不用写sql。

     

    适合场景:Hibernate适合数据量小的项目,如果百万级别的表,用Hibernate查询缓存在session里,占用内存较大,可能导致服务器内存溢出。mybatis适合数据量大的项目。Hibernate普通查询效率也要低于mybatis,涉及到实体类和hql到sql的转换问题。如果项目功能都是增删改查常用模式,适合Hibernate,开发容易,但是如果表关系关联复杂,经常关联查询,适合mybatis。

     

    以上就是JavaEE框架面试题五问的全部内容啦,大家要掌握好,以应对面试官的提问哟。

     

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: Java程序员培训完好就业吗? 下一篇: Java免费视频教程学习来博学谷

相关推荐 更多

热门文章

  • 程序员能拿多少工资
  • 零基础学IT能拿多少钱
  • 程序员如何搞定技术面试---你的对手到底是谁
  • 传智教育博学谷狂野大数据课程再传喜讯,学员均薪超2万
  • 从普通的程序员到Java架构师的学习路线
  • Java工程师避免内卷,看这篇就够了!
  • 告别学了就废,架构师必须要掌握的学习方法
  • 一位10年Java工作经验的架构师,浅谈关于架构师的岗位认知
  • 懂了这些 才能成为架构师
  • 轻松入门Java的学习技巧
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码