基于Struts2的信息管理系统设计与实现

2016-01-27 06:24朱保中
关键词:设计与实现信息系统

廉 彬, 朱保中

(安徽省经济信息中心, 安徽 合肥 230009)



基于Struts2的信息管理系统设计与实现

廉彬, 朱保中

(安徽省经济信息中心, 安徽 合肥 230009)

摘要:在介绍有关技术背景的基础上,给出了信息管理系统的主要结构、有关功能、技术实现和核心代码。系统运行结果表明:该系统能大幅度提高信息的发布质量、时效性、准确性和利用率,能保证信息安全。

关键词:信息系统;CA证书;JAVA技术;设计与实现

随着信息技术的发展和各行业对信息安全的空前重视,开发信息管理系统的技术手段和平台也发生了相应的变化,即由过去简单的动态页面生成技术转变为根据实际需求,采取相应的高效率、高安全性中间件开发技术手段。本文主要针对政府信息管理系统的开发,利用JAVA相关技术,基于Struts2的技术架构来构建具有严格审核流程、集信息资源的采编、交流、维护、发布和管理等功能为一体的信息管理系统,以此来促进各部门的信息资源交流,提高信息发布的时效性、准确性和利用率,有利于各单位及时、准确地开发和掌握信息资源,为政府职能转变创造基础技术环境。

1系统结构及主要功能

信息管理主要包括后台管理、栏目管理、信息管理、多媒体资源管理、资料下载、专题专栏管理等,如图1所示。

图1系统总体结构

1.1 用户与权限管理模块

系统可便利的将一类用户的权限以用户组(角色)的方式来定义。可定义用户组(角色)的前台、后台权限;为提高安全性,用户登录使用数字证书认证技术,用户需插入包含证书的USB Key进行验证,如果通过验证,系统会根据用户的权限范围,来提供相应的功能模块,如图2。

1.2 信息采编管理

栏目管理:系统支持无限级栏目设置,栏目可排序,能够控制栏目访问权限,可设置栏目不同的显示模板,可设置栏目链接至外部,可控制栏目与信息的显示方式(动态、HTML静态)。

内容管理:系统可对栏目中的信息进行增、删、改等功能;信息编辑器支持可视化的类WORD编辑器;能够将信息指向为外部链接,可以即时上传图片、音频、视频、FLASH等资源,并能够形成相对应的缩略图;支持信息的二级审核;支持回收站管理模式;可维护信息的附件,附件数量无限制;目录树方式管理,可更方便快捷的管理栏目的信息。

专题专栏管理:对于一些重要的热点信息,系统提供开辟专栏,将本已分好类的信息进行再次分类,在现有信息中进行专题的组建,汇聚形成一个个的专题。维护多个不同的专题时,可随时将信息脱离、加入专题;一篇信息可以属于多个专题。

全文检索:系统内信息与全文检索库实时同步,无须手工同步;可重建索引,也可单独针对某栏目重建索引;实现高效率的检索,可按分类进行检索,如按栏目、作者、时间等进行检索;支持模糊检索;支持多关键字检索。

1.3 信息审核流程管理

系统审核流程管理设计新颖独特、合理有序、使用方便,信息审核机制严格完整,信息发布严格遵循二级审核机制,信息发布路径清晰准确定位到人,是系统具备的核心功能之一,如图3。

信息审核:信息发布员提交内容后,拥有审核权限的用户可在信息审核模块中看到该信息内容,并能够选择通过或未通过,如果选择未通过,可填写未通过理由,方便发布员查看原因。

查看流程:信息采编发布人员可通过本模块查看审核进度。本模块详细记录了信息所走过的流程名称、审核人姓名、审核时间、审核状态(通过或未通过),如果未通过还可显示未通过原因。

流程设置:支持添加或删除流程,在添加功能中可设置流程名称、流程介绍、审核方式、需要审核栏目、审核人等项目。其中审核方式规定审核范围,分为按部门和按栏目,前者只能审核所在部门发布的信息,后者则可以审核该栏目的所有信息;需要审核栏目,决定哪些栏目需要进入该审核流程;审核人决定哪些用户可以审核进入该流程的信息。

1.4 日志管理

日志可对用户登录后台、操作功能的行为进行记录,以备追查。支持对登录日志进行过滤,可以方便查看“成功”、“失败”等不同类型的登录行为;操作日志将在发生危险操作时,给出重点颜色标记;操作日志可按时间查询;支持查看某一操作的所有日志;可控制是否记录登录、操作日志。

2系统技术实现及核心代码

系统采用基于JAVA的Struts2架构开发,数据库采用jdbc + SQL server 2005。为提高用户体验,采用AJAX技术,数据使用Json格式组织,实现不刷新页面即可查询和显示信息;界面布局采用常见的品字形布局,使用将页面分为用户信息、功能模块、内容显示区域三部分。

2.1 struts.xml文件配置

由于本系统模块众多,所有配置写入Struts.xml必然会导致该文件内容繁杂臃肿,不利于日后修改维护。因此在设计时将配置按模块分别写入多个文件中,并在Struts.xml中通过标签包含进来。

2.2 信息管理的实现

信息管理模块是本系统最重要的部分之一,也是用户操作最多的部分。为保证数据的完整性,防止用户漏填或输入非法字符,系统在前端和后端都对输入信息采取校验检查,其中前端校验代码使用javascript编写,当录入信息出现异常时会弹出提示窗口。后端验证则采用Struts2的验证框架,通过配置对应的validation.xml文件来实现表单验证,主要代码如下。

……

上传后端部分使用Apache commons下的fileupload组件来接收前端发来的二进制数据,由于Struts2已将该组件进行了封装,调用过程大大简化,使用时候只需在Action增加几个类变量负责接收Struts2拦截器传过来的值即可。主要代码如下,

public class UploadFileAction extends ActionSupport implements SessionAware,UploadPath

……其他代码

public String execute() throws Exception

try {

……其他代码

SaveUploadFileTool suf = new SaveUploadFileTool(); //保存文件到指定目录

suf.save(file, realPath, newFileName);

} catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace();

}

HttpServletResponse response = ServletActionContext.getResponse();

response.setCharacterEncoding("utf-8");

PrintWriter out = response.getWriter();

out.print(″{′result′:′SUCCESS′,′filename′:′″

+newFileName+ ″′,′path′:′″+path+″′,′suffix′:′″+

suffix +″′}″);

out.flush();

out.close();

return SUCCESS;

}

……其他代码

2.3 流程管理的实现

当信息涉及多个流程时,系统会先将流程按序号从小到大排序,并将信息放入序号最小的流程当做第一个流程写入待审核列表,在审核员审核通过后,流程会继续按照序号大小向下跳转。主要代码如下。

sql = "select top 2 * process order by process_order asc";

pstat = dbc.PreparedStatementExecuteQuery(sql);//检索将要进入的流程

for(int i=0;i

pstat.setInt(1,efd.getColumnId()[i]);

pstat.setInt(2,efd.getColumnId()[i]);

rs = pstat.executeQuery();

process = new ProcessData();

process.setCId(efd.getColumnId()[i]);

//如需进入审核,则保存相关内容到process。不需要进入审核,则process为默认值。

if(rs.next()){//保存当前流程的相关信息

process.setId(rs.getInt("process_id"));

process.setOrder(rs.getInt("process_order"));

process.setName(rs.getString("process_name"));

process.setDept(rs.getString("process_depart"));

process.setCName(rs.getString("xxfl_name"));

//如果存在下个流程,则标注起来,以便当前流程走完后进入下个流程。

if(rs.next()){

process.setNextId(rs.getInt("process_id"));

}else{

process.setNextId(0);

}

}……其他代码

3结论

引入数字证书和具有记录完整发布流程、严格二级审核机制的信息管理系统,功能设计简便易用,信息发布准确丰富,栏目架构清晰简洁、一目了然。每条信息完整的审核流程和操作记录,使信息采编发布更加科学规范,对于信息的发布质量和保密性都有了极大提高,目前该系统已在某省直机关运行,运行效果良好。

参考文献:

[1] 李刚.Struts2权威指南:基于WebWork核心的MVC开发[M].北京:电子工业出版社,2007.

[2] 朱保中.一种电子政务数据采集交换系统的研究与实现[J];电子政务,2009(6):116-119.

[3] 王奇志,方莉.基于AJAX的富客户端应用内存泄漏研究[J].安庆师范学院学报(自然科学版),2012,18(2):73-76.

[4] 曹路舟,吴海峰,王梅娟.消除XML路径冗余算法[J]. 安庆师范学院学报(自然科学版),2012,18(4):49-53.

Design and Implementation of Information Management System Based on Struts2

LIAN Bin,ZHU Bao-zhong

(Anhui Economic Information Center, Hefei 230001,China)

Abstract:This paper introduces the related technical background and analyzes the main structure, function, the technical implementation and the core code of the information management system. The information management system can greatly improve the release quality, timeliness, accuracy and efficiency of information. The information security is kept.

Key words:information system, CA certificate, JAVA technique, design and implementation

中图分类号:TP311

文献标识码:A

文章编号:1007-4260(2015)01-0076-04

DOI:10.13757/j.cnki.cn34-1150/n.2015.01.021

作者简介:廉彬, 男,甘肃兰州,安徽省经济信息中心助理工程师,主要从事电子政务信息资源研究和开发。

收稿日期:2014-01-16

猜你喜欢
设计与实现信息系统
2022年信息系统与运营管理专栏征稿
基于信息系统的计量标准管理
基于排队论的信息系统装备维修保障效能分析
基于并行构件技术的医疗信息系统的设计与实现
装备保障信息系统集成研究现状
配调一体配网自动化系统的设计与实现
校园电商平台的设计与实现
高校文化建设中视觉识别系统的设计和实现
科研院所科研信息化管理系统的设计与应用
蓝羽石:沉浸在军事指挥信息系统里的创新人生