SSH面试题通常涵盖三个主要的技术:Struts、Hibernate和Spring。以下是这些技术的相关知识点: **Hibernate** 1. **工作原理**: - Hibernate开始时,读取并解析配置文件(如hibernate.cfg.xml),获取数据库连接信息。 - 然后解析映射文件(hbm.xml或注解),建立SessionFactory,这是整个ORM的核心,负责管理Session。 - 打开Session,Session是与数据库交互的接口,负责对象的持久化操作。 - 创建Transaction,处理数据库事务。 - 对数据库进行CRUD(创建、读取、更新、删除)操作。 - 提交事务,确保数据的一致性。 - 最后关闭Session和SessionFactory,释放资源。 2. **为什么要用Hibernate**: - 封装了JDBC,避免了重复的数据库访问代码。 - 是一个主流的ORM(对象关系映射)框架,简化了DAO层的工作。 - 使用Java反射机制,提供透明性。 - 性能优秀,轻量级,支持多种数据库和复杂关系映射。 3. **延迟加载**: - Hibernate2中,延迟加载主要针对实体对象和集合。 - Hibernate3引入了属性的延迟加载,只有在真正访问属性时,对象才会加载到内存中,减少内存消耗,提高性能。 4. **类间关系映射**: - 通过配置文件中的`<many-to-one>`、`<one-to-many>`、`<many-to-many>`标签实现一对一、一对多和多对多关系。 5. **缓存机制**: - 一级缓存是SessionFactory级别的,每个Session都共享,属于事务级缓存。 - 二级缓存可以是应用程序级或分布式缓存,适用于不易被第三方修改、更新频率低的数据。 **Struts** 1. **工作机制**: - Struts在Web应用启动时加载ActionServlet,解析struts-config.xml配置信息。 - 当收到请求时,查找匹配的ActionMapping,创建ActionForm,存储用户数据。 - 如果需要,执行ActionForm的validate()方法进行表单验证。 - 验证成功后,根据ActionMapping转发请求给Action,执行execute()方法。 - Action返回ActionForward,ActionServlet将请求转发到指定的JSP页面。 2. **为什么使用Struts**: - 作为MVC框架,Struts规范了JSP、Servlet和JavaBean的组织方式,减少了代码混乱。 - 提供了一种标准的开发模式,使得开发和维护更有序。 3. **Struts的validate框架**: - 配置文件中定义错误提示,FormBean的validate()方法负责具体验证逻辑。 - 验证失败时,ActionServlet会返回错误消息给客户端。 **Spring** Spring是一个全面的企业级应用框架,包括依赖注入(DI)、面向切面编程(AOP)、事务管理等。在SSH面试中,可能会考察Spring的IoC容器、AOP原理、Spring MVC框架以及Spring与Hibernate的整合等知识。 总结来说,SSH面试题会涉及这三个框架的使用、设计模式、优化策略以及它们如何协同工作以构建高效、可维护的企业级应用。理解并熟练掌握这些知识点对于面试和实际开发至关重要。
剩余27页未读,继续阅读
- 粉丝: 30
- 资源: 29
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助