"这是一份高级软件工程师的结业考试理论试题,涵盖了Struts2框架、Hibernate ORM框架、以及相关的编程实践知识。考试注意事项强调了试卷管理与诚信考试的要求。"
1. Struts2框架是Java Web开发中的一个MVC(模型-视图-控制器)框架,它的核心控制器组件是`StrutsPrepareAndExecuteFilter`,负责处理请求并调度到相应的Action。选项D是正确答案,其他选项如A的`DispatchAction`、B的`ActionForm`和C的`ActionServlet`都是Struts1中的概念。
2. Struts2的配置文件可以有任意名称和位置,并不一定要命名为`Struts2.xml`或放在`WEB-INF/classes`目录下。配置Action时,通常会包含在包信息中,但不是强制的。选项C的表述不正确,因为它过于绝对。而选项A和B的错误在于它们设定了不必要的限制,选项D的`<forward>`元素用于Struts1,而不是Struts2。
3. Struts2的默认处理结果类型是`dispatcher`,它会使用Dispatcher Servlet来分发请求。选项A正确,其他选项如`redirect`、`chain`和`redirectAction`也是Struts2的结果类型,但不是默认值。
4. 在Struts2中,`<s:text>`标签用于读取资源文件并实现国际化。选项C正确。选项A的`s:message`同样用于国际化,但通常与特定的键相关联;选项B的`s:textfield`是创建输入字段的标签;选项D的`s:resource`则用于获取静态资源。
5. 在Struts2中,自定义类型转换器需要实现`TypeConverter`接口。选项B正确。其他选项不是Struts2中定义的接口。
6. OGNL(Object-Graph Navigation Language)表达式中,访问session中的属性应写为`#session.uid`。选项B是正确的。`#`表示上下文引用,`session`是上下文中的一个对象,`uid`是其属性。
7. Hibernate的`Session`接口提供了多种操作,如`save`方法用于保存新对象到数据库。选项C正确。`update`用于更新已存在的对象,`commit`是事务提交,`add`在某些版本的Hibernate中是别名,等同于`save`。
8. `hibernate.cfg.xml`是Hibernate的配置文件,包含了数据库连接信息、方言设置、是否显示SQL语句等。选项D的“数据库表及实体的映射信息”通常位于单独的`.hbm.xml`或注解中,而不是在`hibernate.cfg.xml`内。
9. Hibernate作为ORM(对象关系映射)框架,主要简化了数据访问层的代码,即持久化层的实现。选项B正确。它不是针对表现层、业务逻辑层或数据库系统的解决方案。
10. Hibernate支持级联操作,当设置一个对象的属性(如集合)的`cascade`属性为`all-delete-orphan`或`delete`时,可以实现级联删除。选项B是部分值,但通常使用`all-delete-orphan`来实现包含子对象的级联删除。
这些题目覆盖了Web开发中的关键技术和最佳实践,对于理解和应用Struts2和Hibernate框架至关重要。