Struts框架Action类详解与面试重点

需积分: 3 3 下载量 5 浏览量 更新于2024-09-17 收藏 113KB DOC 举报
"Struts面试题相关知识" Struts是一个经典的MVC(Model-View-Controller)框架,它在Java Web开发中起到了重要的作用。在面试中,对Struts的理解和掌握是评估开发者技能的关键部分。以下是关于Struts的一些核心知识点: 1. **Action类**: Action类是Struts框架的核心组件,它负责处理来自客户端的请求,并将其转化为对业务逻辑的调用。每个Action类通常对应于一个特定的用户操作或业务流程。Action类通过实现`com.opensymphony.xwork2.Action`接口,特别是覆盖`execute()`方法来定义其行为。当请求到达时,ActionServlet会创建或复用一个Action实例,并调用`execute()`方法来执行业务逻辑。 2. **RequestProcessor**: RequestProcessor是Struts框架的一部分,它在处理HTTP请求时起着关键作用。RequestProcessor解析struts-config.xml配置文件,查找与请求URI匹配的Action配置,然后调用Action实例的`execute()`方法。 3. **ActionServlet**: ActionServlet是Struts的控制器组件,它作为Servlet拦截所有到达的HTTP请求,然后根据配置文件进行分发,确保请求被正确地路由到相应的Action。 4. **ActionForward**: ActionForward对象在Action的`execute()`方法中使用,用于指示请求的下一步走向。它可以返回一个逻辑名称,该名称在配置文件中映射到实际的Web资源(如JSP、Servlet或另一个Action)。`ActionForward`的构造函数允许我们指定逻辑名称、实际路径以及是否执行重定向或请求转发。 5. **多线程安全**: 由于Struts框架通常为每个Action类创建单例,因此Action类必须是线程安全的。这意味着Action类的任何状态(如成员变量)都不能是可变的,或者需要采取适当的同步措施以避免并发访问时的问题。 6. **配置文件(struts-config.xml)**: 这是Struts框架的核心配置文件,它定义了Action、ActionMapping、Form Beans和其他元素,用于指导框架如何处理请求和响应。 7. **数据验证**: Struts支持内置的数据验证机制,ActionForm类可以结合Validator框架对用户输入进行验证。验证规则可以在struts-config.xml或单独的ValidatorRule文件中定义。 8. **国际化与本地化**: Struts支持应用程序的国际化,允许使用不同的语言和文化环境。资源文件(如.properties文件)用于存储消息和标签,根据用户的语言设置动态加载。 9. **异常处理**: Struts允许在struts-config.xml中配置全局异常处理策略,这样当Action执行过程中发生异常时,可以统一处理。 10. **Tiles框架集成**: Struts可以与Tiles框架集成,提供更复杂的页面布局和模板设计。Tiles定义了组件化的视图,使页面结构更加模块化。 了解并熟练掌握这些Struts框架的关键概念和组件对于面试和实际项目开发都是非常重要的。在面试中,候选人可能需要解释这些概念,并给出具体示例来展示他们如何在实际工作中应用这些知识。