77范文网 - 专业文章范例文档资料分享平台

Ecology系统程序员开发指南(4)

来源:网络收集 时间:2019-03-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

private void setResourceInfo() throws Exception{

}

业务处理过程……….

String sqlStr = ―select * from Hrmresorce‖ ; RecordSet rt = new RecordSet() ; rt.executeSql(sqlStr) ; while(rt.next()){

String id = Util.null2String(rt.getString(\

String loginid = Util.null2String(rt.getString(\ String lastname = Util.null2String(rt.getString(\ // 将数据库的值记入日志文件 writeLog(\

writeLog(\

writeLog(\ }

}

其它关于系统数据库信息的管理

a)、weaver.conn.ConnectionPool 类的管理和设置:

所有的数据库链接池的集合,用链接池名称区别每一个链接池.支持对一个或多个由属性文件定义的数据库连接池的访问.客户程序可以调用getInstance()方法访问本类的唯一实例。

对于一个链接池集合来说,可以有多个链接池,分别链接不同的数据库。应用程序指定链接池的名称来调用不同的链接池。如果应用程序没有指定链接池的名称,将使用默认的链接池。默认链接池的指定有两种方式:

1、在Application Server设置的初始参数serverName的值 ,以Resin 为例:

2、如果Application Server没有相应设置,则系统使用属性文件(weaver.properties)中设置的默认链接池名称: DefaultPoolName = ecology

16 泛微网络有限公司 www.weaver.com.cn

对于所有的链接池,系统需要加载相应的 JDBC Driver来建立与相应数据库的链接。这些 Driver 在属性文件(weaver.properties)中指定,多个Driver中间用空格隔开:

DriverClasses = com.microsoft.jdbc.sqlserver.SQLServerDriver

对于每一个链接池需要用到的参数在属性文件(weaver.properties)中指定,属性文件中参数的名称以链接池的名称开头,中间加入小数点,比如链接池 ecology 的参数指定为 :

ecology.url = jdbc:microsoft:sqlserver://10.1.1.205:1433;DatabaseName=AIS2002 //db url

ecology.user = sa //db user name ecology.password = 123456 //db user password ecology.charset = ISO_1 //db encode ecology.maxconn = 10 //max conn in conn pool ecology.minconn = 2 //min conn in conn pool ecology.maxusecount = 30 //the max use times of a conn ecology.maxidletime = 30 //the max unuse time of a conn (分)

ecology.maxalivetime = 2 //一个链接被调用后的最大未归回时间 (分) ecology.checktime = 500 //检查的频率 (秒)

b)、weaver.conn. DBConnectionPool类的管理和设置:

数据库链接池,所有创建的链接存放在链接池中,在客户端链接数据库时从链接池中取出链接,客户端在完成数据库操作后将链接返回链接池。

链接池创建链接需要用到的参数在属性文件(weaver.properties)中指定,属性文件中参数的名称以链接池的名称开头,中间加入小数点,比如链接池 ecology 的参数指定为 :

ecology.url = jdbc:microsoft:sqlserver://10.1.1.205:1433;DatabaseName=AIS2002 //db url

ecology.user = sa //db user name ecology.password = 123456 //db user password ecology.charset = ISO_1 //db encode ecology.maxconn = 10 //max conn in conn pool ecology.minconn = 2 //min conn in conn pool ecology.maxusecount = 30 //the max use times of a conn ecology.maxidletime = 30 //the max unuse time of a conn (分)

ecology.maxalivetime = 2 //一个链接被调用后的最大未归回时间 (分) ecology.checktime = 500 //检查的频率 (秒)

17 泛微网络有限公司 www.weaver.com.cn

3.6 如何上传一个文件

上传一个文件只需要调用weaver.file.FileUpload 类。weaver.file.FileUpload 类支持各种文件格式的上传,也支持多文件的上传。

B/S 架构的文件上传采用的是multipart/form-data 协议,而不是HTTP协议,采用这种协议上传的数据必须通过特殊的处理,而不能用常规的方法来获取,否则不能得到数据。weaver.file.FileUpload 封装了底层处理的代码,应用程序的实现者不需要关心这些细节!

weaver.file.FileUpload上传数据的方法有: /**

* 进行上传一个文件的操作

* @param uploadname 需要上传的文件字段名称 * @return String 返回保存文件信息的imagefileid */

public String uploadFiles(String uploadname) /**

* 进行上传一个文件的操作

* @param uploadnames需要上传的多个文件字段名称

* @return String[] 返回保存多个文件信息的imagefileid数组 */

public String[] uploadFiles(String[] uploadnames)

这里,需要注意两点,一个是传给uploadFiles 方法的参数, 是上传文件字段的名称,而不是文件的名称(这个时候你并不知道文件的名称)。比如在jsp 或者html页面中文件浏览的字段代码为:

那么这里的文件字段的名称为\。 第二点是这个方法返回的信息是保存在数据库表 ImageFile 中关于这个文件信息的键值imagefileid ,这个表的结构如下: Column(s) of \Name Datatype Null Option Comment imagefileid int NOT NULL 文件id imagefilename varchar(200) NULL 文件名称 imagefiletype varchar(50) NULL 文件MIME类型 filerealpath varchar(255) NULL 文件存放目录 imagefileused int NULL 文件使用次数 iszip char(1) NULL 是否压缩 0:否 1:是 18 泛微网络有限公司 www.weaver.com.cn

Column(s) of \Name Datatype isencrypt char(1) Null Option NULL Comment 是否加密 0:否 1:是 文件(存在在数据库中的文件内容,现已不使用) imagefile image NULL 从表结构可以看出,我们得到了某一个文件信息的imagefileid,就可以从该表中得到相应的文件名称(这里指文件的实际名称,比如test.doc), 文件MIME类型(比如 txt,doc,gif等) ,文件存放目录(这里指在服务器中存放的实际路径信息,包括实际存放的文件名称,比如

e:\\ecologyfilesystem\\2003\\08\\A\\23143567.zip)。通过这些信息,可以对文件进行操作,当然weaver.file.FileUpload 还提供了其它很多方法来获取文件相关的信息,不需要通过数据表的查询就能得到这些信息。存放在数据表中的信息只是供今后文件处理的时候使用!

上传文件的例子:

首先,我们要创建一个提交数据的页面,可以是jsp 的页面,也可以是html 的页面,我们将数据提交给 weaver.test.MutiFileUpload 的servlet 类来处理:

文件上传

这是一个文件上传的例子

将上面这段代码保存为一个html 文件FileUploadTest.htm,放在ecology运行目录下的/test/目录下。在这个页面中,有一个输入框和两个文件框可以输入信息。注意,在环境的配置中,需要告诉web服务器将 /weaver/ 的请求转给应用

19 泛微网络有限公司 www.weaver.com.cn

服务器作为servlet处理,关于配置的信息,请参考Apache 和Resin的配置文档。

下面我们来编写weaver.test.MutiFileUpload

package weaver.test; /**

* Title: 多文件上传处理类 * Description: 多文件上传测试

* Copyright: Copyright (c) 2001 * Company: weaver * @author liuyu * @version 1.0 */

import javax.servlet.http.HttpServletRequest; import weaver.general.DynamicServlet; import weaver.file. FileUpload;

public class MutiFileUpload extends DynamicServlet {

public void doProcess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

FileUpload fu = new FileUpload(request) ;

String fileDesc = fu.getParameter(\String[] fileFieldNames = {\String[] fileIds = fu.uploadFiles(fileFieldNames) ; /*2*/ String[] fileNames = fu.getFileNames() ; /*3*/

// 将请求信息记入日志文件

writeLog(\ for (int i=0; i< fileIds.length; i++) { String fileId = fileIds[i] ; If(fileId == null) continue ; String fileName = fileNames[i] ;

writeLog(\

writeLog(\

}

response.sendRedirect(\

}

泛微网络有限公司 www.weaver.com.cn 20

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Ecology系统程序员开发指南(4)在线全文阅读。

Ecology系统程序员开发指南(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/528314.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: