struts框架面试题及答案

struts框架面试题及答案


2024年3月16日发(作者:)

struts框架面试题及答案

struts框架面试题及答案(一)

1. 简单叙述ActionForm Bean的作用

答案:

1、ActionForm Bean也是一种JavaBean,除了具有一些JavaBean的常规方

法,还包含一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为

默认值。

2、Struts框架利用ActionForm Bean来进行View组件和Controller组件

之间表单数据的传递。

3、Struts框架把View组件接受到的用户输入的表单数据保存在ActionForm

Bean中,把它传递给Controller组件,Controller组件可以对ActionForm Bean

中的数据进行修改JSP文件使用Struts标签读取修改后的ActionForm Bean的

信息,重新设置HTML表单。

2 .叙述ActionForm执行步骤

答案:

(1)检查Action的映射,确定Action中已经配置了对ActionForm的映射 (2)

根据name属性,查找form bean的配置信息

(3)检查Action的formbean的使用范围,确定在此范围下,是否已经有此

form bean的实例。

(4)假如当前范围下,已经存在了此form bean的实例,而是对当前请求来

说,是同一种类型的话,那么就重用。

(5)否则,就重新构建一个form bean的实例

(6)form bean的reset()方法备调用

(7)调用对应的setter方法,对状态属性赋值

(8)如果validatede的属性被设置为true,那么就调用form bean的

validate()方法。

(9)如果validate()方法没有返回任何错误,控制器将ActionForm作为参

数,传给Action实例的execute()方法并执行。

3、FormBean的作用

答:FormBean是一种JAVABean,除了具有JAVABean的常规方法,还包含一

些特殊方法,用于验证表单数据,以及将其属性重新设置为默认值。 FormBean

用来进行View组件和Controller组件之间表单数据的传递。View组件接收到

用户输入的表单数据,保存在FormBean中,把它传递给Controller组件,

Controller组件可以对FormBean中的数据进行修改。

struts框架面试题及答案(二)

1. 简述Struts框架的初始化流程。

答案:

对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化控

制器ActionServlet

ActionServlet从文件中读取配置信息,把它们存放到

ActionMappings对象中。

在Struts framework中, Controller主要是ActionServlet,但是对于业

务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协

调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。

其中,Action扮演了真正的控制逻辑的实现者,而ActionMapping和

ActionForward则指定了不同业务逻辑或流程的运行方向。

2. 简述Struts框架响应客户请求的工作流程

答案:

1. 检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户

请求路径无效的信息。

2. 如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提

交的表单数据保存到ActionForm对象中。

3. 根据配置信息决定是否需要表单验证。如果需要验证,就调用

ActionForm的validate()方法。

4. 如果ActionForm的validate()方法返回null或返回一个不包含

ActionMessge的ActionErrors对象,就表示表单验证成功。

5. ActionServlet根据AtionMapping实例包含的映射信息决定将请求转发

给哪个Action。如果应的Action实例不存在,就先创建这个实例,然后调用

Action的execute()方法。

6. Action的execute()方法返回一个ActionForward对象,ActionServlet

再把客户请求转发给ActionForward对象指向的JSP组件。

7. ActionForward对象指向的JSP组件生成动态页面,返回给客户。

对于以上流程的步骤(4),如果ActionForm的validate()方法返回一个包

含一个或多个ActionError的ActionErrors对象,就表示表单验证失败,此时

ActionServlet将直接把请求转发给包含客户提交表单的JSP组件。在这种情况

下,不会再创建Action对象并调用Action的execute方法。

3 Struts框架的数据验证可分为几种类型?

答案:

表单验证(由ActionForm Bean处理):如果用户没有在表单中输入姓名,就

提交表单,将生成表单验证错误

业务逻辑验证(由Action处理):如果用户在表单中输入的姓名为

“Monster”,按照本应用的业务规则,不允许向“Monster”打招呼,因此将生

成业务逻辑错误。

4 简述Form Bean的表单验证流程。

答案:

1、当用户提交了HTML表单,Struts框架自动把表单数据组装到ActionForm

Bean中。

2、接下来Struts框架会调用ActionForm Bean的validate()方法进行表

单验证。

3、如果validate()方法返回的ActionErrors 对象为null,或者不包含任

何ActionMessage对象,就表示没有错误,数据验证通过。

5 如果ActionErrors中包含ActionMessage对象,就表示发生了验证错误,

Struts框架会把ActionErrors对象保存到request范围内,然后把请求转发到

恰当的视图组件,视图组件通过html:errors标签把request范围内的

ActionErrors对象中包含的错误消息显示出来,提示用户修改错误。 5在struts

配置文件中action元素包含哪些属性和子元素?

答案:


发布者:admin,转转请注明出处:http://www.yc00.com/web/1710574154a1779904.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信