j2ee的考试题(2)------struts

来源:互联网 发布:matlab生成随机网络 编辑:程序博客网 时间:2024/05/18 20:35

 

题目如下:

8. 请介绍一下struts1.2框架的工作流程,并画出它的工作原理图.7,其中工作流程说明5,原理图2分)

9. 请介绍一下struts 1.2框架中ActionForm的流程(3)

10.Struts中文问题有哪些解决方案?(3分)

11.ActionMapping标签中Scope的属性是什么作用?默认值是多少?标签中path,input,name,attribute,validate的属性又是什么作用?(4分)

 

12.简单介绍一下strut1.2框架和strut2.0框架的异同?(3)

 

 

在struts里面最重要的莫过于流程,一般面试也是考struts的流程或者说struts1.2和struts2.0的区别。

 

因此我下面就详细说说整个流程,关于题目就不细说了。。因为在流程中就有提到的。

 

Struts框架工作流程

当启动一个采用Struts框架开发的Web应用程序(即tomcat)时,ActionServlet就会被加载并被初始化。然后ActionServlet读取Struts配置文件中的信息,并根据文件中的各模块配置来初始化相应的配置对象。

当用户的请求属于ActionServlet所处理请求的模式时,ActionServlet被调用,Struts的处理工作开始:

1.中央控制器根据用户的请求,在Struts配置文件中的<action-mapping>元素中查找匹配该请求的<action>子元素,如果不存在,则返回异常。
2.在匹配的<action>元素中查找有Scope属性指定的范围中是否存在由name属性指定的ActionForm Bean。

scope的默认值为session,不是request,在myeclipse敲出来是request,但这个不一定就是默认值。

如果不存在,就创建一个新的ActionForm对象,然后将用户提交的表单中的数据保存在给ActionFrom对象中,并将ActionForm对象放入Scope属性指定的范围内。

3.如果<action>元素中Validate属性值为true,则调用ActionFrom中的Validate()方法进行表单验证。
4.ActionForm的Validate()方法返回NULL或返回的ActionErrors对象中不包含任何ActionMessage对象,则表单验证成功。否则表单验证失败,ActionServlet将请求转发给Input属性指定的页面。

5.中央控制器将控制权转交给<action>元素Type属性指定的Action类,如果相应的Action类对象不存在,则创建该类对象。接下来Action类的Execute

()方法被调用。
6.在Action类的Execute()方法中进行业务逻辑处理,并返回一个ActionForward对象。控制权被交回ActionServlet,ActionServlet将返回的

ActionForward对象与<action>元素中的<forward>子元素进行匹配,并将请求转发给指定的JSP组件.
7.如果ActionForward对象指定的是另外的Action动作,则返回第(1)步在次执行流程,否则生成动态网页返回给用户。

 

工作流程图:

 

第11题session的默认值应该是session,而不是request,上面有提到,在这里再强调一次。。另外标签中path,input,name,attribute,validate的属性所代表的意思,是一定要知道的。。如果没写attribute,那么前台接收值默认为name的值。

 

第12题:

他们都是基于MVC思想的,关于区别可见我前两天的博客,虽然有些东西目前来说还不是很明白,但在面试中还是比较有用的!

 

 

原创粉丝点击