">
1技术分析
1.1Struts框架
Struts作为MVC模式的一种典型实现,对控制器、模型和视图提供了现成的实现组件,其实现方式如图1所示[2]。控制器主要由Servlet实现,是StrutsAPI中ActionServlet类的实例,其作用是接收客户端浏览器的请求,然后选择执行相应的业务逻辑,再把结果送回客户端。Struts的核心是ActionServlet。Action-Servlet的控制参数在配置文件Struts-config.xml中。Action对象是程序员定义的类,用于实现具体的业务逻辑或者调用业务逻辑模块。模型主要由ActionFormBean来实现,业务逻辑通常由JavaBean或EJB组件来实现。视图由包含一组可扩展的自定义标签库(TagLib)JSP来建立。
1.2Hibernate框架
Hibernate是一个开放源代码的对象关系映射(ORM,ObjectRelationalMapping)框架,对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用对象编程思维来操纵数据库。ORM通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。Hibernate提供了与多种Web服务器或者应用服务器的良好集成,支持几乎所有的流行数据库服务器[2]。Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据的持久化。Hibernate的核心接口有六个,分别为:Session、SessionFactory、Configuration、Transaction、Query和Criteria。通过这些接口,不仅可以持久地对对象进行存取,还能够进行事务控制。
2基于Struts+Hibernate的医药管理系统的设计与实现
针对需求,本医药管理系统采用六大功能模块,分别为基础信息管理、进货管理、药品销售管理、库存管理、查询统计和系统管理。其中:基础信息管理主要完成药品信息、客户信息、供货商信息的添加、修改、删除;进货管理负责进货单、进货/退货;药品销售管理完成药品销售、销售退货;库存管理主要完成药品盘点、库存药品价格调整;查询统计完成药品信息查询、客户信息查询、供货商信息查询、销售查询、销售退货查询、入库查询、入库退货查询、销售排行统计;系统管理完成管理员账号管理、权限管理、数据备份和数据恢复。医药管理系统框架采用Struts与Hibernate构架进行开发,整个系统分为表示层、业务逻辑层、数据持久层和数据库层。其中表示层与业务逻辑层均由Struts框架组成,表示层主要通过ISP、Action-Form及Struts标签库进行展现;业务逻辑层通过Struts框架的中央控制器及Action对象对业务请求进行处理;数据持久层由Hibernate框架组成;数据库层使用MySQL数据库[3]。医药管理系统数据库名称为Medicine_db,包括主要的表有:药品信息表、客户表、供货商表、入库_主表、入库_详细表、入库退货_主表、入库退货_详细表、销售_主表、销售_详细表、销售退货_主表、销售退货_详细表、库存表、用户表和dtproperties等;视图有:入库视图、销售退货视图、入库退货视图和销售视图等。结束语将Struts和Hibernate这两种框架技术充分结合,利用两者优点,设计实现了一个医药管理系统。该系统运行效果良好,大大简化了医药管理工作,具有良好的可维护性和扩展性。
作者:刘琳玲 单位:武汉航海职业技术学院