在Java开发领域,SSH框架(Struts+Spring+Hibernate)无疑是面试中不可或缺的一部分。作为一名准备充分的求职者,掌握SSH框架的相关知识至关重要。以下是对SSH框架面试中常见问题的汇总,希望能够帮助你更好地应对面试。
一、Hibernate部分
-
Hibernate的工作原理:
- 读取并解析配置文件。
- 读取并解析映射信息,创建SessionFactory。
- 打开Session。
- 创建事务Transaction。
- 持久化操作。
- 提交事务。
- 关闭Session。
- 关闭SessionFactory。
-
Hibernate的映射灵活性:Hibernate支持从一对一到多对多的各种复杂关系,极大简化了DAO层编码工作。
-
Hibernate中get和load方法的区别:
- get方法:hibernate会确认id对应的数据是否存在,首先在session缓存中查找,然后在二级缓存中查找,数据库中没有就返回null。
- load方法:认为数据在数据库中一定存在,使用代理来延迟加载,若未找到符合条件的记录,则抛出ObjectNotFoundException。
二、Struts部分
-
Struts的设计模式:MVC模式。Struts通过ActionServlet、ActionForm和JSP组件实现MVC模式,使开发者更关注于业务逻辑的实现。
-
Struts的工作流程:
- 客户端浏览器发出HTTP请求。
- FilterDispatcher接收请求。
- 根据struts.xml配置找到需要调用的Action类和方法。
- Action调用业务逻辑组件处理业务逻辑。
- Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。
- 返回HTTP响应到客户端浏览器。
三、Spring部分
Spring作为业务层框架,提供了IoC(控制反转)和AOP(面向切面编程)等核心功能,极大提高了系统的灵活性和可维护性。在面试中,了解Spring的配置文件(如applicationContext.xml)以及如何改变Spring配置文件的位置也是非常重要的。
重点内容:掌握Hibernate的ORM映射、Struts的MVC模式和Spring的IoC/AOP机制,是SSH框架面试中的重中之重。希望以上内容能够帮助你在SSH框架的面试中脱颖而出!