COTS应用程序开发框架简介二节能
民生舆情 2020-10-29 07:39 字号: 大 中 小
COTS应用程序开发简介
应用程序设计完成后,相应的数据层结构、业务组件和大致地展现逻辑都已经被确定。
应用程序开始开发前可先拷贝框架提供的一个Web Application的模板到应用服务器的部署目录下。然后进行下面将要介绍的三个步骤,其中数据层的建立是基础,完成后,可并行进行业务逻辑和JSP的开发,因为这两者没有直接的联系。
为方便理解和阐述,在下文中我们假设Apache Tomcat5.5为web服务器,Web Application的Context Path为/WebApp,并且所有的操作都是在本地(应用服务器所在的机器)进行。
数据层开发首先根据设计阶段完成的ER图编写SQL脚本,并执行这些SQL脚本,建立所有的数据库。
然后配置l文件,对每个数据库(新建立的数据库,或者已经存在但本应用程序需要访问的数据库)配置一个DAO组件(该配置可以时JDBC配置,也可以是DataSource配置),并给每个DAO起一个有明确意义的名字。一个配置的例子如下:
daos
dao
!--name of the DAO object--
namecore/name
!--JDBC configuration below--
!--database type, one of the oracle, sql, mysql--
dbTypeoracle/dbType
!--dbUsercotsadmin/dbUser
dbPasswordZagHnJ82/dbPassword
dbURLjdbc:oracle:thin:@127.0.0.1:1521:gldnsky/dbURL
acleDriver/driver
dbConnections10/dbConnections--
!--data source configuration below--
datasource xa="fasle" overrideUser="false"java:comp/env/jdbc/gldnskyJNDI/datasource
/dao
/daos
然后启动应用服务器。. 我们可以看到配置的三个DAO的名字:
!--[if !vml]--!--[endif]--
假设选择test后:
!--[if !vml]--!--[endif]--
选择“创建表的系统信息”,系统将根据每个表结构的在数据字典中创建系统信息部分。创建完毕之后,选择设置表的自定义信息,出现下面的界面:
!--[if !vml]--!--[endif]--
更新Test1表的自定义信息:字段的中文名,显示方式,显示顺序,是否是主键,字段的来源,引用表的名称,引用表中的字段名,系统会根据这些信息自动生成JSP代码。
最后向业务数据字典中插入两条记录,分别是,(“Test1”,”gender”,”f”,”女”),和虽有争议老人仍坚守(“Test1”,”gender”,”m”,”男”)。
除可以通过COTS的开发工具来生成表信息数据词典外,还可通过应用程序taDictToolW来完成。通过命令行运行java taDictToolW,出现如下界面:
!--[if !vml]--!--[endif]--
在输入框中输入正确的数据库用户名,密码和DBURL,点击Connect在左侧文本域中将会列出数据库下所有的数据表名,如下界面
!--[if !vml]--!--[endif]--
如果没有创建过数据字典,点击Build开始自动创建过程。如果以前创建过数据字典可以点击Update按钮完成更新。点击Clear将会清空数据字典。
业务层开发业务组件都必须直接或间接从AbstractBLC继承。COTS还提供了另外一个基类DBBLC,业务组件如果从此类继承,则将自动继承了访问数据库的功能。业务组件可以自由的调用包括DAO在内的基础组件的方法。一个简单的例子如下:
package st;
import LException;
import stractBLC;
import Data;
public class Test extends AbstractBLC {
public int doTest(BizData rd,BizData sd){
String hello=tString("hello");
d("hello",hello);
try{
int rows=ecuteQuery("select * from test","tests",rd);
//intln(rows);
}catch(SQLException sqle){
intStackTrace();
}
return 1;
}
}
展现层开发 展现层除了可以调用数据对象的getter方法外,还可以调用数据字典的两个方法:tFieldLength(String tableName,String colName),这样JSP页面中可以跟数据字典同步,当数据字典中某个字段的长度发生变化时,无需修改页面;另外一个方法是:tCSSClass(String tableName,String colName);这个决定一个字段的类型是否是必填项和类型等相关没有前科信息。
请求配置客户请求的名称一般情况下对应着一个form的action(不包含URL匹配的字符串,例如*.do的action由COTS框架来处理,则在配置请求时,请求的名称不包含”.do”),当客户端请求这个action时,COTS框架会根据这个客户请求的配置,决定调用什么样的业务逻辑和视图。
在/WEB-INF/requests/*l中进行客户请求的配置,该请求将业务逻辑-视图连接在一起。请求配置好后,重新启动应用服务器,开发就完成了。
下面以一个最基本的实例来说明这个问题,客户请求的名称getCurrentRate的配置如下:
request
namegetCurrentRate/name
model name=”tCurrentRate”
dispatch url=”” type=”forward”/
/request
在一个form中以如下形式发出这个请求:
form action=”” method=”post”
input type=”text” name=”moneyTypeID”
……
/form
那么这个form在提交的时候,由于其action以“.do”结尾,因此被匹配到COTS框架的控制器,控制器将以”.do”前面的部分,也就是getCurrentRate作为客户请求的名字,并在请求配置文件中查找这个请求的信息,然后进行相应的处理。
六盘水白癜风权威医院清远中医牛皮鲜医院南平牛皮癣医院那个好-
-
卫生间如何干湿分离教你最简单的方法搭配
卫生间如何干湿分离?教你最简单的方法卫生间做干湿分离是...
2020-06-01 | 民生舆情
-
-
全国男排联赛北京11连胜积分第1上海31搭配
全国男排联赛北京11连胜积分第1 上海力挫河南赛季全国男排联...
2020-05-31 | 民生舆情
-
-
2017田径世锦赛参赛标准中国将派24男搭配
2017田径世锦赛参赛标准 中国将派24男26女参赛2017年8月4日—8月...
2020-05-29 | 民生舆情
-
-
费雷拉vs波尔图分析费雷拉目标保级波尔图搭配
费雷拉vs波尔图分析 费雷拉目标保级,波尔图联赛争冠北京时间...
2020-05-28 | 民生舆情
-
-
当涂县正式启动千年古县申报工作
当涂县正式启动“千年古县”申报工作近日,当涂县召开申报...
2019-07-16 | 民生舆情
-
-
奉贤区雅韵文化艺术传承中心开展剪纸刻纸活
奉贤区雅韵文化艺术传承中心开展剪纸、刻纸活动为丰富杨王...
2019-07-16 | 民生舆情