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

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

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

}

以上代码需要注意的几个地方:

注释1:由于使用了multipart/form-data协议, 这里获取请求中的信息必须使用fu. getParameter() 方法,而不能使用 request.getParameter() 方法,否则不能得到filedesc的值!

注释2:使用uploadFiles方法上传accessory1和accessory2中的文件,同时返回保存在ImageFile 表中的文件基本信息的键值imagefileid,可以将这个imagefileid记录到其它地方以便今后调用。

注释3:使用getFileNames方法获取上传文件的真实名称(包括后缀名)

将代码保存到 /src/weaver/test/MutiFileUpload.java 文件中。访问

FileUploadTest.htm 来测试一下,看看日志文件中的记录是否正确。页面提交,文件上传完毕后将再次返回FileUploadTest.htm页面。你可以查看ImageFile表来检查文件的具体存放位置等信息。

小秘密:

文件的存放位置在系统设置模块中设置,如果没有设置,将存放在系统运行目录下的 filesystem 目录下。

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

3.7 如何访问已经上传的文件

在jsp页面或者html页面中访问已经上传的文件非常简单,只需要调用

weaver.file.FileDownload类,并传递需要访问的文件id ,这个文件id,就是在文件上传中返回的 imagefileid。

访问上传的文件有两种方式,一种是非下载方式,这种方式如果浏览器能够显示访问的文件类型,那么就会在浏览器中直接显示。另一种是下载方式,无论访问的文件是什么类型,都使用弹出下载窗口的形式下载。

对非下载方式的链接访问

对下载方式的链接访问

如果知道要访问的文件是图片,并需要在浏览页面中直接显示这个图片,可以使用下面的代码访问

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

3.8 如何使用缓存提高系统效率

对于一些常用的信息,比如人员的名称,如果每次访问的时候都查询数据库来获取,将极大的影响系统的性能。我们可以将这些信息放到系统的缓存中,在用到的时候,从系统缓存中获取。

系统提供了 weaver.general.StaticObj 类来保存这些信息。

weaver.general.StaticObj 类使用 HashTable 来管理缓存信息,其主要的方法如下:

StaticObj将数据库中常用的数据放入缓存中,以加快系统的反应速度。客户程序可以调用getInstance()方法访问本类的唯一实例。

StaticObj有两层缓存,分别为 mainKey - value 和 mainKey - subkey – value,由 mainKey 可以取得第一层的对象,由 mainKey - subkey 可以取得第二层的值,在第二层的值存在的情况下,第一层的值为 Hashtable。 /**

* 返回唯一实例.如果是第一次调用此方法,则创建实例 *

* @return StaticObj 唯一实例 */

public static StaticObj getInstance() /**

* 获取 mainKey 对应的第一层对象值 *

* @param key 主键名称

* @return Object 对于的第一层对象值 */

public Object getObject(String key) /**

* 设置 mainKey 对应的第一层对象值 *

* @param key 主键名称

* @param obj mainKey 对应的第一层对象值 */

public void putObject(String key, Object obj) /**

* 从缓存中清除 mainKey 对应的第一层对象值 *

* @param key 主键名称 */

public void removeObject(String key)

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

/**

* 获取 mainKey - subkey 对应的第二层对象值 *

* @param HashKey 主键名称 * @param RecKey 子主键名称

* @return Object 对于的第二层对象值 */

public Object getRecordFromObj (String HashKey, String RecKey) /**

* 设置 mainKey - subkey 对应的第二层对象值 *

* @param HashKey 主键名称 * @param RecKey 子主键名称

* @param obj mainKey - subkey对于的第二层对象值 */

public void putRecordToObj (String HashKey, String RecKey, Object obj) /**

* 从缓存中清除 mainKey - subkey 对应的第二层对象值 *

* @param HashKey 主键名称 * @param RecKey 子主键名称 */

public void removeRecordFromObj (String HashKey, String RecKey) /**

* 从缓存中清除 所有对象值 * */

public void clearRecord()

运用这些方法,我们可以构造所需要的缓存类,使用这些缓存类来对其它模块和功能提供缓存信息的接口,这些缓存类在系统中的命名为 XXXComInfo,其中XXX为相应缓存信息的名称。参考如下的人力资源缓存类:weaver.hrm.resource.ResourceComInfo。

ResourceComInfo 类主要提供人力资源信息中常用的一些信息的缓存,比如人员名称,所在部门。对于这些信息,都需要一个键值。常见的键值是这些信息在数据库表中的Primary Key,比如人力资源ID,其它模块和功能在关联人力资源信息的时候,只记录人力资源的ID,当需要获取人力资源的其它信息,如人员名称,所在部门的时候,从ResourceComInfo类提供的统一接口中获取。

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

weaver.hrm.resource.ResourceComInfo 的代码:

package weaver.hrm.resource;

import java.util.*; import weaver.conn.*; import weaver.general.*; /**

* Title: 人力资源缓存信息接口类

* Description: 对其它模块和功能提供统一的获取人力资源信息的接口 * Copyright: Copyright (c) 2002 * Company: weaver * @author liuyu * @version 1.0 */

public class ResourceComInfo extends BaseBean {

/* 1 */

private ArrayList ids = null; // 保存人力资源键值 ID 队列 private ArrayList loginids = null; // 保存人力资源登录名 队列 private ArrayList lastnames = null; // 保存人力资源名称 队列 private ArrayList departmentids = null; // 保存人力资源部门 队列 private ArrayList seclevels = null; // 保存人力资源安全级别 队列 private ArrayList statuses = null; // 保存人力资源状态 队列

private StaticObj staticobj = null; // 公共缓存类

/* 2 */

private int current_index = -1; // 当前人力资源记录的指针 private int array_size = 0; // 人力资源记录的数量

/**

* 人力资源缓存信息接口类构造方法

* 构造方法中将获取公共缓存类的唯一实例,并调用getResourceInfo 方法获取缓存信息,

* 同时赋值人力资源记录的数量 * */

public ResourceComInfo() throws Exception{ staticobj = StaticObj.getInstance(); getResourceInfo() ;

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

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

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