高校档案管理系统的设计与实现*
2016-07-21许德斌
许德斌
(合肥职业技术学院 办公室,安徽 合肥 238000)
高校档案管理系统的设计与实现*
许德斌
(合肥职业技术学院 办公室,安徽 合肥 238000)
摘要:基于对高校档案管理系统的分析,应用Struts+Hibernate+Spring构架开发高校档案管理系统.采用MVC设计模式,将整个系统分为表示层、业务处理层、数据持久层和数据库层,提高了系统的可维护性和重用性.
关键词:高校档案管理;Struts;Hibernate;Spring;信息系统
随着计算机技术的广泛应用,高校档案进行信息化管理已成为必然趋势.本文针对高校档案管理系统的功能不全,以及软件开发过程中不规范等问题,提出了基于Struts+Hibernate+Spring框架结构的高校档案管理系统,以便优化档案信息资源,提高档案部门的工作效率.
1系统设计
1.1功能设计
通过对系统的功能需求分析,系统划分为5大功能模块:用户登录、文件归档、档案管理、检索利用和系统管理,5大功能模块下继续划分为14个次级功能模块.主要功能模块划分结构如图1所示.
图1 系统功能模块整体结构图
“用户登录”模块主要用于记录与用户相关的操作,比如待办事项、已办事项、消息通知等,方便用户对业务进行处理与查看.
“文件归档”模块主要是完成对归档文件的收集、整理、组卷、入库等一系列工作.收集信息的来源有两方面,一是由用户直接进行电子著录;二是通过归档接口获取其他应用系统的归档文件信息,进入档案管理系统的文件信息,以工作流的方式,在普通用户、兼职档案员、专职档案员、部门领导等不同角色间传递流转,最终完成组卷、检查、审核等步骤,实现文件归档的全流程控制.
“档案管理”模块主要是对档案管理系统内存储的档案信息进行维护管理,包括对档案库中案卷或文件条目记录的添加、删除与修改等操作;对实体档案的销毁等情况进行记录,以及统计馆(室)藏档案案卷的归档率.
“检索利用”模块是用户查询档案和借阅档案的主要入口,用户可以在检索查询页面中对档案进行检索与查询.
“系统管理”模块是系统管理员对用户进行管理,包括用户和角色的添加、删除、修改,以及角色权限的变更管理.
1.2系统架构
系统采用Struts+Hibernate+Spring构架体系,分为表示层、业务处理层、数据持久层和数据库层.[1]
其体系结构如图2所示.
图2 系统体系结构图
2关键技术
系统选用基于MVC模式的Struts+Hibernate+Spring框架技术,实现高校档案管理系统的底层数据库与前台界面的设计.
2.1JSP技术
JSP技术使用Java编程语言编写类XML的Tags和Scriptlets,封装产生动态网页的处理逻辑;将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计.[2]
2.2J2EE中间件技术
J2EE是以中间件技术EJB为基石的一整套开发B/M/S(浏览器/中间件/服务器)多层架构的跨平台高性能的技术框架.[3]其基本原理如图3所示.
图3 J2EE的基本原理图
2.3基于MVC设计模式的Struts框架
MVC(Model-View-Controller):将软件系统划分为控制器(Controller)、视图(View)和模型(Model),把混乱复杂的语句强行分离,明确分工和作用.MVC模式结构如图4所示.
图4 MVC模式结构
Struts是一个基于MVC体系结构的Web应用程序的框架,具有组件模块化、灵活性和重用性等优点,同时简化了Web应用程序的开发.[4]Struts体系结构如图5所示.
图5 Struts体系结构图
2.4Hibernate框架
系统的数据持久化工作是使用Hibernate框架完成的.Hibernate是一种广泛使用的对象关系映射(ORM)解决方案,它对JDBC进行了封装,开发人员可以用面向对象的方式操作数据库,不必关心数据库操作的实现细节,开发者也不用编写繁琐的JDBC代码,可以专注于对象关系的处理,非常适合面向对象的软件开发,并且能够在不同数据库系统间进行移植,只需改变属性配置中对数据库的描述即可.[5]Hibernate框架结构如图6所示.
图6 Hibernate框架结构图
3系统实现
(1)根据高校档案工作的需求,系统的档案管理业务工作流程如图7所示.
图7 档案管理业务工作流程图
(2)系统采用工作流的方式规范档案的收集与整理.系统的归档工作业务流程如图8所示.
图8 归档工作业务流程图
(3)系统采用界面控制和内容访问控制双重保障机制,杜绝高密低流.系统的借阅审批业务流程如图9所示.
图9 借阅审批业务流程图
(4)通过编程实现系统的功能,下面对实现中的关键技术进行说明.
①服务端的Servlet配备信息.
②SelfMessageServlet类的代码.
import java.utril.ArrayList;
import java.servlet.ServletException;
import java.servlet.http.HttpServlet;
import java.servlt.http.HttpServletRequest;
import java.servlt.http.HttpServletResponse;
import net.sf.ezmorph.Morpher;
import net.sf.ezmorph.MorpherRegistry;
import net.sf.ezmorph.bean.BeanMorpher
;import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.util.JSONUtils;
import ams.sf.model.SelfMessage;
import ams.SystemManager;
public class SelfMessageServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException
{
System.out.println(〝调用doPost方法〞);
Response.setContentType(〝text;html;charset=utf-8〞);
String filterText=request.getParameter(〝filter_text〞);
HttpSession session=Request.getSession();
String userId=session.getAttribute(〝CurrentUserId〞);
try{
ArrayList messagsList=BusinessManager.getSelfMessages(userId,filterText);
}
Catch(Exception ex) {
ex.printStackTrace();
throw ex;
}
Response.out.println(JSONArray.fromObject(messageList));
}
}
③BusinessManager类封装主要的业务逻辑代码,负责完成业务流程的实际工作.getSelfMessages函数的主要代码.
Public SelfmMessages querySelfMessageByUserId(int usermessage_id,Srtingfilter_text)
{
SelfmMessages msgs=new SelfmMessages();
Try{
String strSql;
strSql=〝frow SelfMessages where user_id=:user_id and message_text like:filter_text〞;
SessionFactory sf;
Sf=new Configration().configure().buildSessionFacrory();
Session session=sf.openSession();
Transaction tx=session.begin Transaction();
Query query=session.createQuery(strSql);
query.setInteger(〝user_id〞,user_id);
query.setString(〝filter_text〞,filter_txt);
List result=query.list();
tx.commit();
msgs.setRows(result);
msgs.setTotal(result.size());
session.close();
}catch(HibermateException ex) {
Ex.printStackTrace();
throw ex;
}
return msgs;
}
④类SelfMessage与数据库表SELF_MESSAGE之间的映射关系.
4结语
基于高校档案信息化建设的需要,从高校档案管理系统的可用性等方面进行研究,完成了系统的结构划分、工作流程、以及数据库等设计.该系统设计从档案的收集、整理、组卷到档案的保管、利用都满足了高校对档案管理的功能需求,整个归档流程可控制、可监督,有效地保证了归档工作的质量.
参考文献:
[1]刘铭徽.基于Struts与Hibernate框架的图书馆管理系统研究与设计[J].安徽大学学报(自然科学版),2009(3).
[2]王墨林,郑有飞.基于JSP的新生报到管理系统的研究与设计[J].计算机软件与应用,2014(5).
[3]胡永波,林财兴.基于J2EE结构的档案目录中心系统的设计与实现[J].电脑开发与应用,2004(9).
[4]杜选.基于MVC模式的Struts框架在大型网站开发中的应用[J].中国教育信息化,2008(17).
[5]李寒冰.高校档案管理系统的设计与实现[D].大连:大连海事大学,2014.
(责任编辑:王前)
DOI:10.13877/j.cnki.cn22-1284.2016.06.006
*收稿日期:2016-02-25
作者简介:许德斌,男,安徽庐江人,副研究馆员.
中图分类号:TP31
文献标志码:A
文章编号:1008-7974(2016)03-0015-04