郑俊海
(广东省财政职业技术学校,广东 广州 510445)
随着计算机技术和校园信息化的发展,职业院校对固定资产信息化管理的要求也越来越高。职业院校每年都会增加大量的教学仪器设备和办公设备,与此同时各种设备的管理难度也越来越大,使得固定资产各种数据不能及时汇总统计,也不能对固定资产进行动态管理。为了提高职业院校固定资产的管理效率,需要开发一个高效可靠、扩展性强的信息管理系统。
本系统使用ExtJS与SSH2架构设计,ExtJS主要用于创建前端用户界面,是一个与后台技术无关的前端A jax框架。SSH2架构是基于Struts2+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。该架构设计主要分为五层:表示层、控制层、业务逻辑层、数据持久层和实体层。
ExtJS是一个用Javascript编写的A jax框架,用于在客户端创建丰富多彩的Web应用程序界面,并且与后台技术无关。利用ExtJS构建的RIAWeb应用具有与桌面程序一样的标准用户界面和操作方式,并且能够跨不同的浏览器平台使用。ExtJS已经成为开发具有完美用户体验的Web应用的选择[1]。ExtJS为用户提供功能强大的组件,同时大量使用了JSON对象实现功能封装,这样就大幅减少了代码量,减轻了维护的强度,提高了程序的可用性和维护性。
Struts2是一个基于MVC设计模式的Web应用框架,MVC设计模式由模型(Model),视图(View)和控制器(Controller)三部分组成。Struts2将应用分层,实现功能模块和显示模块的分离,Struts2使用控制器(Controller)来建立模型与视图的数据交互,提高了应用系统的可维护性,可扩展性和可移植性。
Spring为开发者提供的是一个一站式的轻量级应用开发框架,在Java EE的应用开发中,支持POJO和使用Java-Bean的开发方式,使应用面向接口开发,充分支持OO(面向对象)的设计方法。Spring技术通过一种称作控制反转(IoC)的技术促进了松耦合[2]。与此同时Spring还提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
Hibernate是一个开放源代码的对象关系映射框架,是Java应用和关系数据库之间的桥梁,负责Java对象和关系数据之间的映射。它对JDBC访问数据库的代码做了封装,向上层应用提供了面向对象的数据访问API,同时支持各种数据库。Hibernate简化了数据访问层繁琐的重复性代码,移植性好,能够完成数据持久化的重任,不仅可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,是一个轻量级框架。
本系统主要功能包括登录模块,职工信息管理模块,资产信息管理模块,资产分析模块和日志管理模块共五部分。登录模块主要功能是管理员和职工进行登录使用;职工信息管理功能主要是添加职工信息,修改职工信息,删除职工信息和职工权限设置功能;资产信息管理模块主要功能是资产入库,资产调换申请,资产报修申请,资产报废申请,资产审批和资产的折旧管理;资产分析模块主要功能是资产查询和资产分析功能,根据不同的情况查询资产信息和对资产进行分析和统计。日志管理模块主要功能是对操作日志浏览、备份和删除功能等。主要系统功能结构如图1:
图1 系统功能结构图
本系统的JSP页面,例如增加职工信息页面、资产入库页面等,使用ExtJS技术进行开发。在工程项目的WebRoot目录下新建extjs文件夹,复制bootstrap.js、ext-all-dev.js、ext-alldebug.js、ext-all.js、resources到文件夹中,再在extjs文件夹下新建locale文件夹,将ext-lang-zh_CN.js复制到里面,最后在JSP页面中引入ExtJS相关基础包。部分代码如下:
控制层的实现采用Struts2框架的控制器,通过Struts.xm l配置文件配置前台页面与后台服务器交互Action,在Struts.xm l中需要为相应的Action定义一个type为JSON的result。然后在Action的操作方法中根据请求调用业务逻辑处理类得到执行结果对象后,将结果转换为JSON格式,接着调用jsonObject.toString()方法向HttpServletResponse里写JSON格式内容,并附带成功success或失败failure标识,视图层即JSP页面根据控制层返回的标识进行相应的操作。部分代码如下所示:
业务逻辑层的实现通过对DAO组件的调用和封装,完成业务逻辑层的操作。首先编写Service业务逻辑接口,定义系统所要完成的业务逻辑方法;然后编写先前定义的业务逻辑接口的实现类。现以职工管理模块为例,编写业务逻辑层接口EmployeeService.java定义对实体类Employee.java增删查改4种操作,然后编写业务逻辑层实现类EmployeeImpl.java,最后在实现类中调用数据持久层类的方法实现接口中定义的增删查改4种业务操作。部分代码如下所示:
数据持久层主要使用Hibernate来实现数据库表到Java实体类的映射,完成与数据库之间的交互。本系统在实现数据持久层时先创建Hibernate映射文件和持久化类,然后在applicationContext.xm l文件中进行基础组件的配置,包括对数据源dataSource配置,指向的类为DBCP的数据源类;对SessionFactory配置,为DAO层提供Hibernate的数据库连接对象,并注入已配置的dataSource对象;对事务的配置,为SessionFactory对象增加事务配置给组件,并注入已配置的SessionFactory对象;接着配置DAO组件和DAO事务;最后编写DAO类和编写业务层实现,调用DAO层类代码进行数据库的交互。如employee(职工信息)表:{职工号,职工名称,密码,权限}={employeeId,employeeName,pw d,perm ission},映射文件employee.hbm.xm l的部分代码如下所示:
本文采用基于ExtJS与SSH2框架设计实现了职业院校固定资产信息管理系统,ExtJS框架实现了系统操作界面的友好性,SSH2框架很好地实现了视图层、控制层和业务逻辑层的分离,提高了系统开发的效率,也使系统具有较强的稳定性、可扩展性和可维护性。通过实际运行,系统表现良好,运行稳定。