在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
小编整理了有关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基础:char 型变量中能不能存贮一个中文汉字?为什么?
char 型变量是用来存储 Unicode 编码的字符的,unicode 编码字符集中包含了汉字,所以,char 型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在 unicode 编码字符集中,那么,这个 char 型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,char 类型的变量也是占用两个字节。
7914
2019-05-23 11:16:51
Java基础开发的集合类都有哪些?主要方法有什么?
你所知道的Java基础开发的集合类都有哪些?主要方法有什么?最常用的集合类是 List 和 Map。 List 的具体实现包括ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。
8215
2019-06-03 11:16:40
Java工程师面试知识点梳理汇总
如今,大多数高端企业级应用都在使用Java,除了大型企业级应用,还有许多游戏开发、大数据的架构都是通过Java来完成的。因此,Java的就业面可以说是十分广泛了。本文专门为大家梳理汇总了Java工程师面试的必备知识点,内容包括数据库、技术框架、项目管理、项目部署以及开发模式,下面一起看看吧!
6128
2020-04-09 21:35:52
SpringMVC的组件解析
今天,让我们一起来看看SpringMVC的组件解析,主要内容有SpringMVC的执行流程、SpringMVC组件解析、SpringMVC注解解析和SpringMVC的XML配置解析。下面一起来看看详细内容吧~
5946
2020-04-20 19:25:32
带你深度剖析Kafka架构知识点
带你深度剖析Kafka架构知识点,学习了解Kafka数据处理、Kafka 核心组件、broker和集群、Consumer与topic关系、Kafka消息的分发、Consumer的负载均衡开发技术。
4425
2022-04-11 11:52:32
