Struts2面试题:理解Struts2架构与WebWork差异

3星 · 超过75%的资源 需积分: 50 6 下载量 3 浏览量 更新于2024-09-12 收藏 6KB TXT 举报
Struts 2面试题主要聚焦于Struts 2框架的理解、其与Struts 1和WebWork的关系以及核心概念。以下是关键知识点的详细解析: 1. **Struts 2架构变化**: - Struts 2基于WebWork,采用了拦截器(Interceptor)的全新架构,与Struts 1的模型-视图-控制器(MVC)模式不同,实现了业务逻辑控制器与Servlet API的解耦。 - 拦截器机制使得控制流程更加灵活,允许在请求处理过程中动态添加或修改行为。 2. **与Struts 1和WebWork的关系**: - 虽然Struts 2是对Struts 1的重大升级,但它更像是WebWork的延续和改进,而不是全新的框架。 - 与WebWork相比,Struts 2的变化相对较小,但仍提供了更现代化的设计和更好的性能。 3. **核心组件**: - FilterDispatcher:Struts 2的核心组件之一,用于接收和路由请求到对应的Action。 - Action:是业务逻辑的核心,它在拦截器的帮助下执行特定的业务操作,并可能返回结果或跳转。 4. **依赖注入和IoC**: - Struts 2支持IoC(Inversion of Control)原则,通过依赖注入(Dependency Injection)简化了Action的配置,提高了代码的可维护性。 5. **Action的生命周期管理**: - Action的实例化、初始化、处理请求和结果返回等步骤都有严格的生命周期管理,包括Action的实例化策略(如单例或每次请求新实例)。 6. **与Hibernate集成**: - Struts 2与持久层技术如Hibernate的集成是面试中常见的问题,涉及到数据访问、事务管理和ORM映射。 - Hibernate的使用要点包括:数据源获取、SessionFactory的创建、Session的管理和事务处理。 7. **Hibernate ORM操作**: - Hibernate的核心功能包括数据持久化、事务管理、查询语言(如SQL Criteria、HQL)、查询类型(范围查询、分页等)以及集合操作。 8. **Struts 2的必要性和优势**: - Struts 2强调Web开发的模块化和分离关注点,对于大型项目来说,它的组件化设计和拦截器机制有助于提高代码的可维护性和扩展性。 9. **Struts 2与Spring集成**: - 需要了解Struts 2如何与Spring容器协作,以利用Spring的IoC和AOP特性,这在面试中是个重要的知识点。 10. **ActionServlet和struts-config.xml**: - Struts 2中的ActionServlet负责处理Action的请求,而struts-config.xml文件是配置核心组件和插件的地方,它定义了应用程序的结构和工作方式。 Struts 2面试题会考察应聘者对Struts 2框架的整体理解、架构设计、核心组件的使用、以及与其他框架如Spring的集成能力。熟悉这些知识点是成功应对面试的关键。