整体架构

作者:  最后修改:2013年10月14日  浏览数:1902

1. ZCF整体架构

  框架组成如下图所示:

  图片1

2. ZCF响应流程

  框架响应用户请求的流程下图所示:

        图片2

3. ZCF的包结构

  com.zving.framework.*  

包名

描述

包含ZCF框架的主体类及对象,如用户(User)、会员(Member)、常量(Constant)、配置(Config)、配置加载器(ConfigLoader)、内容容器监听(ContentListener)、浏览器本地数据Cookie(CookieData)、当前请求下的可用的(Current)、浏览器请求的数据(RequestData)、服务器响应的数据(ResponseData)、服务器端数据监听(SessionListener)、用户界面呈现(UIFacade)、版本(Version)

annotation

注解

cache

缓存

collection

集合

core

核心

data

数据,涉及到数据库方面的各类实现

expression

Mvc的表达式

extend

扩展,涉及到扩展相关的类、接口及抽象类

i18n

国际化

json

Json支持

misc

乱七八糟的,小工具

orm

持久化,涉及数据持久化方面的各类实现

schedule

定时器及计划任务

security

安全,涉及到加密解密、权限检查、参数检查方面的各类工具类

template

模板解析

ui

前端用户界面及各类控件的实现

utility

工具类及各种静态方法及功能

xml

XML支持

 

4. ZCF的整体说明

4. 1 数据库操作

4. 1.1 数据库连接池

  数据库连接池提供了对jdbc数据库连接的封装与池化,并实现了多个数据库连接池、连接超时自动报错、连接失效后自动重连等功能。

  主要功能由com.zving.framework.data下的DBConn,DBConnConfig,DBConnPool,

  DBConnPoolImpl四个类提供。

  其中DBConn是对java.sql.Connection的子类,重写了close方法,以实现调用conn.close()时不是将连接真正关闭,而是将连接接置为空闲状态,以实现的作用。

  DBConnConfig是一个数据库连接配置类。

  DBConnPool提供对外的连接池接口,可以使用DBConnPool.getConnection()得到默认的连接,

4. 1.2 通用数据操作类

  1) DatTableDataColumnDataRow

  DatTableDataColumnDataRow是对java.sql.ResultSet的封装,提供了按索引存取数据的方法。

  2) 强类型

  3) 事务支持

4. 1.3 ORM实现

  1) 从设计文档直接生成ORM

  2) 使用简洁

  3) 良好的性能

  4) 解决了一些麻烦

4. 1.4 数据转换与序列化

 

4. 2 前后台交互简单

       1)JSP标签封装的控件

  2)前台功能强大的JS函数库

  3)AJAX支持

  4)直接调用后台方法

  5)统一的数据容器:DataCollection

  6)后台Java类对前台复杂操作响应的编程模型

 

4. 3  提供一系列的控件

  1)z:init 前后台良好隔离的界面初始化

  2) z:datagrid 功能强大的数据表格

  3)z:tree 简洁易用的树形控件

  4)ztype=’Date’日期选择控件

  5)Menu.js 右键菜单支持

  6)下拉框控件:重新实现的