在线客服
扫描二维码
下载博学谷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测试框架库
老话说得好:工欲善其事,必先利其器。测试是应用程序生命周期里至关重要的一步,应用程序在进行最后的部署之前,需要通过测试来确保它的负载管理能力以及在特殊情况下的工作条件和工作加载情况。因此,本文例举了十种超实用的Java测试框架库,希望可以帮到大家。
6750
2019-07-05 17:47:32
SpringMVC的组件解析
今天,让我们一起来看看SpringMVC的组件解析,主要内容有SpringMVC的执行流程、SpringMVC组件解析、SpringMVC注解解析和SpringMVC的XML配置解析。下面一起来看看详细内容吧~
5121
2020-04-20 19:25:32
Spring框架功能模块构成及概念
Spring框架功能模块构成,Spring框架采用分层架构,功能要素被分成20个模块,分为Core Container、Data Access/Integration、Web、AOP、Instrumentation、Messaging和Test。
5835
2020-05-19 11:28:45
同步代码块如何解决数据安全问题?
同步中的线程,没有执行完毕不会释放锁,同步外的线程没有锁进不去;同步保证了只能有一个 线程在同步中执行共享数据,保证了安全;程序频繁的判断锁,获取锁,释放锁,程序的效率会降低。
4556
2020-07-14 11:35:13
Spring框架实现依赖注入操作步骤解析
Dependency Injection是spring框架核心 ioc 的具体实现。程序在编写时通过控制反转把对象的创建交给了spring,但是代码中不可能出现没有依赖的情况。ioc 解耦只是降低他们的依赖关系但不会消除,坐等框架把持久层对象传入业务层而不用我们自己去获取。
4490
2021-05-24 11:31:52