(问答题+选择题(在 55 页)) Java 工程师(程序员)面题 Struts,Spring,Hibernate 三大框架 1.Hibernate 工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建 SessionFactory 3.打开 Session 4.创建事务 Transation 5.持久化操作 6.提交事务 7.关闭 Session 8.关闭 SesstionFactory 为什么要用: 1. 对 JDBC 访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate 是一个基于 JDBC 的主流持久化框架,是一个优秀的 ORM 实现。他很大程度的简化 DAO 层的编码工作 3. hibernate 使用 Java 反射机制,而不是字节码增强程序来实现透明性。 4. hibernate 的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2.Hibernate 是如何延迟加载? 1. Hibernate2 延迟加载实现:a)实体对象 b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能 当Hibernate 在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3.Hibernate 中怎样实现类之间的关系?(如:一对多、多对多的关系) 类与类之间的关系主要体现在表与表之间的关系进行操作,它们都是对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的 many-to-one、one-to-many、many-to-many 4.Struts1 流程: 1、客户端浏览器发出 HTTP 请求。2、根据 web.xml 配置,该请求被ActionServlet 接收。3、根据 struts-config.xml 配置, ActionServlet 先将请求中的参数填充到 ActionForm 中,然后ActionServlet 再将请求发送到 Action 进行处理。4、是否验证,需要验证则调用 ActionForm的 validate 方法,验证失败则跳转到 input,成功则继续。5、Action 从 ActionForm 获得数据,调用 javabean 中的业务方法处理数据。6、Action 返回ActionForward 对象,跳转到相应JSP页面或Action。7、返回HTTP 响应到客户端浏览器。 MVC 设计模式:modal:“模型” 也称业务逻辑,是正真完成任务的代码,相当与JavaBeanview:视图,其实就是显示界面,相当于 JSPcontroller:控制器,他控制模型和视图的交互过程,相当于 servletstruts1 是基于 MVC 设...