朋友 给我 说了 一个 他上次 电面 IBM的面试题,我觉得 不好 回答,特意 问问 诸位 高手。Struts中一个 form bean的生命周期,应该怎么描述。从网上 找了 两个 说法
说法 一 。 “控制器收到的请求”->“创建或再循环ActionForm”
->“调用reset()“->“正确保存ActionForm”
->“由请求组合ActionForm”
->“验证ActionForm”。如果验证不通过返回到输入,否则调用 Action的execute()方法。
说法 二 。
[align=left] 1首先控制器接受请求,从request或session范围中查找关联的ActionForm,如果不存在就创建它,并调用reset()方 法,然后将其保存到request或session范围中。
2.把用户输入的表单数据封装到ActionForm中。
3.如果action的validate属性为true,则调用ActionForm的validate()方法。
4.如果验证失败,则讲控制转发给action的input属性指定的web组件,其actionForm实例依然保存在request或session中;
如果验证成功,则调用action的execute()方法,将actionForm传递给execute方法,最后将请求转发给其他web组件,actionForm依然存在于request或session中。[/align]
说法 一 。 “控制器收到的请求”->“创建或再循环ActionForm”
->“调用reset()“->“正确保存ActionForm”
->“由请求组合ActionForm”
->“验证ActionForm”。如果验证不通过返回到输入,否则调用 Action的execute()方法。
说法 二 。
[align=left] 1首先控制器接受请求,从request或session范围中查找关联的ActionForm,如果不存在就创建它,并调用reset()方 法,然后将其保存到request或session范围中。
2.把用户输入的表单数据封装到ActionForm中。
3.如果action的validate属性为true,则调用ActionForm的validate()方法。
4.如果验证失败,则讲控制转发给action的input属性指定的web组件,其actionForm实例依然保存在request或session中;
如果验证成功,则调用action的execute()方法,将actionForm传递给execute方法,最后将请求转发给其他web组件,actionForm依然存在于request或session中。[/align]
说法 二 。
1首先控制器接受请求,从request或session范围中查找关联的ActionForm,如果不存在就创建它,并调用reset()方 法,然后将其保存到request或session范围中。
2.把用户输入的表单数据封装到ActionForm中。
3.如果action的validate属性为true,则调用ActionForm的validate()方法。
4.如果验证失败,则讲控制转发给action的input属性指定的web组件,其actionForm实例依然保存在request或session中;
如果验证成功,则调用action的execute()方法,将actionForm传递给execute方法,最后将请求转发给其他web组件,actionForm依然存在于request或session中。说法2好点说法2 在孙卫琴写精通struts 173面只不过书上画的图更详细 说法2没有图 但是步骤都写的很正确