您的位置:首页 > 运维架构 > Linux

CentOS下安装sysbench的过程及问题

2012-08-29 20:45 375 查看
 一、通过顺序图剖析sturts执行流程.



由上图可以struts1.x对请求的处理过程:

     1、默认情况下,*.do请求都将交给struts框架处理,首先会由控制器ActionServlet拦截请求,在处理请求前会做一些初始化的工作,然后再转交给请求处理器RequestProcessor处理.

     2、RequestProcessor根分析请求url,在配置文件struts-config.xml中找到相对应的ActionForm,实例化ActionForm并根据类的反射填充ActionForm,将表单元素值封装成一个ActionForm对象.

     3、对ActionForm对象每个成员属性进行校验,校验失败将直接返回<action />的input属性所指定的页面。如果校验成功就往下执行.

     4、RequestProcessor实例化Action并调用Action的execute方法。对于某一些action可能还会进行业务逻辑校验。
     5、业务逻辑校验通过后,返回一个ActionForward对象并转发到该对象指定的一个成功页面。

二、RequestProcessor的处理过程

     RequestProcessor是处理请求的核心类,处理请求步骤如下 :

          1、调用processPath()方法, 确定选择将要处理的动作的路径,如:/login.do,就会取出/login字符串,赋值给变量path.

          2、调用processMapping()方法,根据path路径,在配置文件struts-config.xml找到与之对应的action映射,并返回一个ActionMapping的对象,该类封装了<action />里的属性值的方法,如validate、scope等属性的值.
          3、调用processActionForm()方法,根据ActionMapping的对象新建一个Form Bean 或从请求会话中检索Form Bean。

          4、调用processPopulate()方法,填充与请求关联的Form Bean (即把表单元素的数据封装成一个ActionForm对象).

          5、调用processValidate()方法,校验form bean数据是否合法.    
          6、调用processActionCreate()方法,实例化当前ActionMapping关联的类的实例.

          7、调用processActionPerform()方法,内部将调用action的execute() 方法,执行完后将返回ActionForward对象所指定的页面.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: