高级别合成方法

要对框架中的高级数据流进行建模,合成方法很有用。例如,很多标准框架(如 Struts 和 Spring)鼓励对应用程序使用模型-视图-控制器 (MVC)。通过 MVC 结构,通常按以下方式来处理客户机表单提交:

  1. 根据 URL,确定用于保存提交的表单数据的应用程序模型M 以及包含业务逻辑的控制器类 C
  2. 创建 M 模型对象,并根据 HTTP 请求中的(不可信)表单数据来设置其属性。这些属性通常通过 setter JavaBeans 来设置(例如,setName()setAddress())。
  3. M 对象中的数据执行某些验证。
  4. 创建 C 控制器对象,并将 M 对象传递到执行业务逻辑的方法 C.execute()。通常,execute() 将返回用于呈现结果的视图的名称。
  5. 根据视图名称,确定要显示的相应视图文件(例如,JavaServer Pages)。通常,M 对象中的数据将通过请求或会话对象的属性来传递到视图。

可以通过 Framework for Frameworks 合成方法来对所有以上功能进行建模,因而揭示行为以供 AppScan® Source 分析。Framework for Frameworks API 提供高级别合成方法以简化合成方法的生成。

注: 带有以 Appscan.SyntheticAppscan.Synthetic.ValidatorAppScan.Synthetic.Replacement 开头的类名称的跟踪节点对应于通过 AppScan® Source 进行合成的方法。
  • AppScan.Synthetic 方法用于在使用框架的应用程序代码中将跟踪聚合到一起。
  • AppScan.Synthetic.Validator 方法可对框架运行时执行的底层验证进行建模。如果需要,您可以选择一个 validator 方法并将其标记为验证器
  • AppScan.Synthetic.Replacement 方法指示应用程序代码中的某个方法已替换为 AppScan® Source,以捕获框架的不相关组件(如控制器和视图)之间的数据流。