zoukankan      html  css  js  c++  java
  • Action Form的过程

    1、读取配置(初始化ModuleConfig对象)

    Struts框架总控制器(ActionServlet)是一个Servlet,
    在web.xml中配置成自动启动的Servlet。
    读取配置文件(struts-config.xml)的配置信息,
    为不同的Struts模块初始化响应的ModuleConfig对象

    2、发送请求
    用户提交表单或调用URL向Web应用程序器提交一个请求,
    请求数据用HTTP协议上传给Web服务器。

    3、填充FORM(实例化、复位、填充数据、校验、保存)
    (1)检查Action的映射,确定Action中已经配置了对ActionForm的映射
    (2)根据name属性,查找form bean的配置信息
    (3)检查Action的form bean的使用范围,确定在此范围下(request,session),是否已经有此form bean的实例
    (4)假如当前范围下,已经存在form bean的实例。
    而对当前请求来说,是同一种类型的话就重用,
    否则,就重构一个form bean实例,并且保存在一定作用范围
    (5)form bean的set()方法调用
    (6)调用对应的setter()方法,对状态属性赋值
    (7)如果validate的属性设置为true,那么就调用form bean的validate()方法
    (8)如果validate()方法没有返回任何错误,控制器将ActionForm作为参数,传给Action实例的execute()方法并执行

    注:直接从ActionForm类集成的reset()和validate()方法,并不能实现什么处理功能,
    所以有必要自己重新覆盖

    4、派发请求
    控制器根据配置信息ActionConfig将请求派发到具体的Action,
    响应的FormBean一并传给这个Action的execute()方法

    5、处理业务
    Action一般只包含一个execute方法,它负责执行响应的业务逻辑。
    完毕返回一个ActionForward对象,控制器通过该ActionForward对象那个来进行转发工作

    6、返回响应
    Action根据业务处理的不同结果返回一个目标响应对象给总控制器,
    该目标响应对象对应一个具体的JSP页面或另一个Action

    7、查找响应
    总控制器根据业务功能Action返回的目标响应对象,
    找到对应的资源对象,通常是一个具体的JSP页面

    8、响应用户
    目标响应对象将结果展现给用户目标响应对象(JSP)
    将结果展现给用户

  • 相关阅读:
    Adobe Flash Player因过期而遭到阻止”的内幕起因和解决办法
    SQL中isnull,nullif,coalesce的用法
    sql server全局变量
    关于分组后字段拼接的问题
    查询某个分组中多行字段值的拼接字串的方法--access
    分组统计(平均值计算)
    excel,sql server,access数据之间相互导入导出
    数据查询和管理
    我为什么学习Windows编程
    zStack学习笔记(原创,绝对不是抄的……)
  • 原文地址:https://www.cnblogs.com/WQLLL/p/7390063.html
Copyright © 2011-2022 走看看