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)在线全文阅读。
相关推荐: