当前位置: 首页 > 图灵资讯 > 技术篇> SSH框架面试题(附答案)

SSH框架面试题(附答案)

来源:图灵教育
时间:2023-03-30 17:41:05

框架对java语言它是一种非常重要的技术工具,可以说java框架学的好坏直接关系到java技术整体水平。面试需要什么?java程序员必须做好准备SSH框架面试题的学习。SSH框架struts+spring+hibernate的集成框架是目前流行的Web应用开源框架,所以在SSH框架是Java面试中必须检查的内容平时工作备的技能相信学完10SSH框架面试SSS框架的掌握会深入一

1、为什么要用?Hibernate呢?

答:(1JDBC访问数据库的代码被包装,大大简化了数据访问层繁琐的重复代码;(2Hibernate是基础JDBC的主流持久框架是一个优秀的ORM实现极大程度的简化DAO层编码工作;(3hibernate采用Java反射机制,而不是字节码增强程序来实现透明度;(4hibernate映射非常灵活。它支持各种关系数据库,从一对一到多对多的复杂关系。

2、在Hibernate中get和load方法的区别是什么?

答:hibernate认为load方法必须存在于数据库中,可以放心使用代理来延迟加载。如果在使用过程中发现问题,只能抛出异常;hibernate必须获取真实数据才能获取hibernate的获取方法,否则会返回null。

具体说明:(1对于获取方法,hibernate将确认id对应的数据是否存在。首先在session缓存中搜索,然后在二次缓存中搜索。在查询数据库之前,如果数据库中没有,则返回null;(2load方法加载实体对象时,根据映射文件上lazy属性的配置(默认为true)分情况讨论:若为true,先在Session缓存中搜索,看看id对应的对应无论大象是否存在,如果不存在,则使用延迟加载并返回实体的代理对象(该代理是由CGLIB动态生成的实体子类)。当具体使用对象(除获取OID外)时,查询二次缓存和数据库。如果仍未找到合格记录,则将抛出ObjectNotfoundexception若为false,就像get方法的搜索顺序一样,但如果最终没有找到合格的记录,就会抛出objectNotfoundexception。

3Hibernate如何延迟加载?的?

答:Hibernate3 它提供了属性的延迟加载功能。当Hibernate查询数据时,数据不存在于内存中,但当程序真正操作数据时,对象存在于内存中,实现了延迟加载,节省了服务器的内存成本,从而提高了服务器的性能。

4、Hibernate如何优化?

答:(1)使用双向一对多关联,不使用单向一对多;(2)灵活使用单向一对多关联;(3)不需要一对一,而是用多对一代替;(4)配置对象缓存,不使用集合缓存;(5)一对多使用bag,多对多使用set。;(6)继承类使用显式多态;(7)表字段要少,表关联不要怕多,有二级缓存支撑。

5、说说Struts的设计模式?

答:MVC模式(1)web应用程序启动时会加载并初始化ActionServletet;

2)用户提交表单时,创建配置好的ActionForm对象,并填写表单对应的数据;(3)根据Struts,ActionServlet-config.xml文件配置的设置决定是否需要表格验证。如有必要,请拨打ActionForm的Validate()验证,然后选择将请求发送到哪个Action。如果Action不存在,ActionServlet将首先创建此对象,然后调用Actionexecute()方法;(4)Execute()从ActionForm对象中获取数据,完成业务逻辑,返回ActionForward对象,Actionservlet将客户请求转发给Actionforward对象指定的jsp组件;(5)Actionforward对象指定的jsp生成动态网页,返回给客户。

6、Struts的优缺点是什么?

答:优点(1)实现MVC模式,结构清晰,使开发者只注重业务逻辑的实现;

2)可以使用丰富的标签 ,Struts标记库(Taglib),如果能灵活运用,就能大大提高开发效率。此外,就目前国内JSP开发商而言,除了使用JSP自己的常用标记外,他们很少开发自己的标记。也许Struts是一个很好的起点;(3)页面导航。页面导航将是未来的发展方向。事实上,这使得系统的背景更加清晰。整个系统各部分之间的联系可以通过配置文件来掌握,这对以后的维护有很大的好处。特别是当另一批开发人员接管该项目时,这一优势更加明显;(4)提供Exception处理机制;(5)数据库链接池管理;(6)支持I18N。

缺点(1)转到显示层时,需要配置forward,每次转到显示层。相信大部分都是直接转到jsp,转向时需要配置forward。如果有十个显示层的jsp,需要配置十个struts,有时候不包括目录和文件的变更,需要重新修改forward。注意每次修改配置后,需要重新部署整个项目。tomcat如果业务变化复杂频繁,这样的服务器必须重新启动,这样的操作简单难以想象;(2)Struts Action必须是thread-safe方法,它只允许一个例子来处理所有的请求。因此,action使用的所有资源都必须统一同步,导致线程安全问题;(3)测试不方便.,Struts的每个Action都与Web层耦合,因此其测试依赖于Web容器,单元测试难以实现。

建议大家可以在java培训课程中学习SSH框架有更多相关知识,以高自己的编辑水平和力。