Struts2面试实战与常见问题详解

需积分: 6 1 下载量 15 浏览量 更新于2024-09-09 收藏 99KB DOC 举报
在Struts2面试与联系题中,我们将探讨几个关键知识点,帮助你准备面试并加深对Struts2框架的理解。首先,了解Struts2项目的构建依赖至关重要。在开发Struts2 web项目时: 1. **正确答案**:C 如果进行注解开发,导入struts2解压后的`app/struts2_blank.war`中的jar包即可。这通常包括核心库,如`struts2-core`, `struts2-json-plugin`等。如果要支持注解,可能还需要特定的`convention`插件jar包,但不是必须的。 2. **知识点解析**: - A. 正确,Struts2基于MVC(Model-View-Controller)模式。 - B. 错误,Struts2的核心控制器是`Action`,而非`ActionServlet`。 - C. 正确,用户编写的Action可以是普通的POJO(Plain Old Java Object)类,也可以实现`Action`接口或继承`ActionSupport`。 - D. 错误,`Action`中的`execute`方法并非必须,可以根据需求自定义。 - E. 错误,Action的方法不一定要`public`、`String`类型且无参,具体取决于业务逻辑。 3. **Action配置**: - A. 正确,指定`<action>`元素的`name`属性,如`<actionname=”user_add”class=”…UserAction”>`。 - B. 错误,`method`属性应对应Action中的实际方法名,而不是硬编码。 - C. 错误,`parameter`不是一个标准属性,`{0}`或`{1}`用于动态方法调用,如`<actionname=”user_*”class=”…UserAction”method=”{0}”>`。 - D. 正确,`*`通配符用于动态方法调用,`{0}`代表第一个参数。 - E. 选项D更为合适,`{1}`代表第二个参数,一般只有一个动态参数时使用`{0}`。 4. **Result类型的使用**: - A. 错误,`chain`结果集通常用于链式调用其他Action,不是简单的转发。 - **正确答案**:使用`chain`表示将请求链式传递给其他Action,例如`<result name="success">chain</result>` 面试中可能提问Struts2的项目依赖管理、MVC模式的结构、Action的编写规范以及Result类型的灵活运用。掌握这些要点有助于你在面试中展示扎实的Struts2知识和实践能力。同时,建议结合实际项目经验来深入理解框架的细节,以提高应答的准确性和深度。