鄭俊海
(廣東省財政職業技術學校,廣東 廣州 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框架很好地實現了視圖層、控制層和業務邏輯層的分離,提高了系統開發的效率,也使系統具有較強的穩定性、可擴展性和可維護性。通過實際運行,系統表現良好,運行穩定。