1. 简述Struts框架的初始化流程。 答案: 对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化控制器ActionServlet ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到ActionMappings对象中。 在Struts framework中, Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。 其中,Action扮演了真正的控制逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。
4 简述Form Bean的表单验证流程。 答案: 1、当用户提交了HTML表单,Struts框架自动把表单数据组装到ActionForm Bean中。 2、接下来Struts框架会调用ActionForm Bean的validate()方法进行表单验证。 3、如果validate()方法返回的ActionErrors 对象为null,或者不包含任何ActionMessage对象,就表示没有错误,数据验证通过。 4、如果ActionErrors中包含ActionMessage对象,就表示发生了验证错误,Struts框架会把ActionErrors对象保存到request范围内,然后把请求转发到恰当的视图组件,视图组件通过<html:errors>标签把request范围内的ActionErrors对象中包含的错误消息显示出来,提示用户修改错误。
6. 简单叙述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表单。 7 .叙述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()方法并执行。 8.在下面的标签中哪些是struts标签 A、<html:form> B、<html:text> C、<html:errors> D、<html:message> 答案:A B C 9、FormBean的作用 答:FormBean是一种JAVABean,除了具有JAVABean的常规方法,还包含一些特殊方法,用于验证表单数据,以及将其属性重新设置为默认值。 FormBean用来进行View组件和Controller组件之间表单数据的传递。View组件接收到用户输入的表单数据,保存在FormBean中,把它传递给Controller组件,Controller组件可以对FormBean中的数据进行修改。 10、Forward与Global-Forward的区别 答:Forward是根据Action return的值找到对应的JSP页。当多个Action共同return同一个值时,可将这个Forward元素写在Global-Forward中。
|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理