楊麗萍,王 薇
(長(zhǎng)春大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長(zhǎng)春 130022)
基于大學(xué)生信用檔案共享的高校合作創(chuàng)業(yè)就業(yè)網(wǎng)絡(luò)平臺(tái)
楊麗萍,王 薇
(長(zhǎng)春大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長(zhǎng)春 130022)
針對(duì)高校大學(xué)生的信用危機(jī)及創(chuàng)業(yè)就業(yè)過(guò)程中存在的問(wèn)題,在基于MVC模式和JAVA EE開(kāi)發(fā)平臺(tái)上,利用SSH(Struts2+Spring+Hibernate)開(kāi)源框架技術(shù),提出了一種多層B/S模式的基于大學(xué)生信用檔案共享的高校合作創(chuàng)業(yè)就業(yè)網(wǎng)絡(luò)平臺(tái)。本文簡(jiǎn)要闡述了系統(tǒng)框架和系統(tǒng)功能,接著介紹了用戶管理模塊的開(kāi)發(fā)過(guò)程。
SSH架構(gòu);信用檔案;高校合作;創(chuàng)業(yè)就業(yè)
隨著經(jīng)濟(jì)的市場(chǎng)化,就業(yè)創(chuàng)業(yè)壓力漸漸增大,高校大學(xué)生的信用危機(jī)及就業(yè)創(chuàng)業(yè)過(guò)程中存在的問(wèn)題也逐漸顯現(xiàn),其主要表現(xiàn)有:求職材料不真實(shí);大學(xué)生就業(yè)違約;雇用求職面試“槍手”,以求蒙混過(guò)關(guān);創(chuàng)業(yè)合作缺少誠(chéng)信基礎(chǔ),創(chuàng)業(yè)合作率較低;高校間的創(chuàng)業(yè)就業(yè)信息相對(duì)獨(dú)立,缺少創(chuàng)業(yè)就業(yè)信息共享的合作基礎(chǔ),限制了就業(yè)創(chuàng)業(yè)率的提高[1]。
為了構(gòu)建一個(gè)以大學(xué)生信用為基礎(chǔ)的集實(shí)習(xí)、實(shí)踐、創(chuàng)業(yè)、就業(yè)為一體的網(wǎng)絡(luò)平臺(tái),筆者在充分研究高校大學(xué)生信用檔案的共享方式、高校與企業(yè)間創(chuàng)業(yè)就業(yè)的合作內(nèi)容和方法及信用保證機(jī)制的基礎(chǔ)上,針對(duì)信息實(shí)時(shí)發(fā)布、可移植性和數(shù)據(jù)分布式處理的特點(diǎn),結(jié)合Struts2、Spring、Hibernate技術(shù),提出了基于大學(xué)生信用檔案共享的高校合作創(chuàng)業(yè)就業(yè)網(wǎng)絡(luò)平臺(tái)。
MVC是Model-View-Controller的簡(jiǎn)稱,即模型-視圖-控制器。MVC設(shè)計(jì)模式[2]是將業(yè)務(wù)邏輯和應(yīng)用數(shù)據(jù)、數(shù)據(jù)的表示以及交互相分離。
MVC模式的處理過(guò)程:首先在視圖提供的界面上發(fā)出用戶請(qǐng)求,通過(guò)視圖將請(qǐng)求轉(zhuǎn)發(fā)給控制器,根據(jù)請(qǐng)求控制器調(diào)用相應(yīng)的模型;然后模型根據(jù)請(qǐng)求的類型進(jìn)行對(duì)應(yīng)的業(yè)務(wù)邏輯處理并返回?cái)?shù)據(jù);最后利用控制器調(diào)用相應(yīng)的視圖將模型返回的數(shù)據(jù)進(jìn)行格式化,并呈現(xiàn)給用戶[3]。
Struts2.0是一個(gè)基于MVC架構(gòu)的、擴(kuò)展的用來(lái)創(chuàng)建Java企業(yè)級(jí)應(yīng)用的框架。Struts2.0貫穿了從創(chuàng)建、部署到維護(hù)的整個(gè)開(kāi)發(fā)過(guò)程的生命周期。Struts2.0是從WebWork2.0上發(fā)展起來(lái)的,它集成了Struts1.x和WebWork框架的優(yōu)點(diǎn),對(duì)Struts框架是一個(gè)大的提升,同時(shí)也更大程度地簡(jiǎn)化了開(kāi)發(fā)人員的開(kāi)發(fā)過(guò)程。它具有容易啟動(dòng),易被Spring集成等特點(diǎn)。
Spring是一個(gè)開(kāi)源框架,是為了解決企業(yè)應(yīng)用程序開(kāi)發(fā)復(fù)雜性而創(chuàng)建的。Spring的核心是一個(gè)輕量級(jí)的容器,為軟件開(kāi)發(fā)提供全方位支持的應(yīng)用程序框架。尤其是Spring提供了直接集成Hibernate的方法,在SpringIoC容器下可以直接管理Hibernate的SessionFactory對(duì)象。利用Spring中提供的幾個(gè)類,通過(guò)配置xml文件可以提供聲明式事務(wù)管理[4]的功能。
Hibernate是一個(gè)面向Java環(huán)境的O/R數(shù)據(jù)庫(kù)映射工具[4]。利用文件把值對(duì)象和數(shù)據(jù)庫(kù)表之間建立一個(gè)映射關(guān)系,這樣,只需通過(guò)操作這些值對(duì)象和Hibernate提供的一些基本類,就可以實(shí)現(xiàn)使用數(shù)據(jù)庫(kù)的目的。
系統(tǒng)采用Struts2+Hibernate+Spring的輕量級(jí)整合架構(gòu),可把系統(tǒng)劃分為三層:Web表現(xiàn)層、業(yè)務(wù)邏輯層以及數(shù)據(jù)持久層,如圖1所示。
圖1 Struts2+Spring+Hibernate整合框架的工作流程
域?qū)ο竽P突旧鲜秦灤┧袑哟蔚模?],在業(yè)務(wù)邏輯層中生成,裝載并處理頁(yè)面得到的數(shù)據(jù),傳遞到Hibernate層中由Hibernate實(shí)現(xiàn)數(shù)據(jù)的持久化;或者從Hibernate到Spring,再?gòu)腟pring到Struts2,最后利用JSP頁(yè)面顯示出來(lái)。
從以上整合過(guò)程可以看到,利用Hibernate可降低業(yè)務(wù)模型部分的開(kāi)發(fā)難度,使用Spring可輕量化業(yè)務(wù)邏輯,使用Struts2可降低系統(tǒng)總框架的耦合度。
本系統(tǒng)可分為系統(tǒng)管理模塊、登錄模塊、信用檔案管理模塊、創(chuàng)業(yè)就業(yè)管理模塊、高校合作管理模塊、企業(yè)需求模塊等,具體模塊結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)功能模塊圖
其中系統(tǒng)管理主要包括教育機(jī)構(gòu)簡(jiǎn)介、新聞、成果公告、站內(nèi)搜索、下載等功能;登錄管理主要包括用戶的添加、修改和刪除等功能;信用檔案管理主要完成大學(xué)生信用檔案的創(chuàng)建、審核、共享、修改和刪除等功能;創(chuàng)業(yè)就業(yè)管理主要包括創(chuàng)業(yè)項(xiàng)目、創(chuàng)業(yè)動(dòng)態(tài)、就業(yè)動(dòng)態(tài)、創(chuàng)業(yè)教育名師、創(chuàng)業(yè)項(xiàng)目分配等功能;高校合作管理主要完成高?;蛐F箝g信息交流內(nèi)容及方式、合作內(nèi)容及合作方式的確定;企業(yè)需求主要完成企業(yè)社會(huì)需求信息的添加、修改和刪除等功能。
下面以用戶模塊為例,具體說(shuō)明整合Struts2+Hibernate+Spring架構(gòu)的使用過(guò)程。
首先確認(rèn)自己本地的JDK1.5、MyEclipse6.5和Tomcat6.0安裝完畢;然后在MySQL中建立一個(gè)數(shù)據(jù)庫(kù)(XYDA)及表(User);接著創(chuàng)建一個(gè)名稱為XYDADemo的Web工程,本地的工作目錄是E:\workspace;最后準(zhǔn)備XYDADemo工程的目錄結(jié)構(gòu),把架構(gòu)依賴的第三方j(luò)ar、公共css文件、圖片、js文件等復(fù)制到對(duì)應(yīng)工作目錄中。
(1)在MyEclipse中創(chuàng)建對(duì)MySQL的連接。
(2)添加Spring開(kāi)發(fā)能力。確定應(yīng)用的Spring的版本及所需的類庫(kù)文件,生成并選擇Spring的配置文件applicationContext.xml的存放路徑,選擇在WEB-INF文件夾下。
(3)添加Hibernate開(kāi)發(fā)能力。首先選擇Hibernate版本及需要的類庫(kù);接著確認(rèn)使用Spring的配置文件進(jìn)行SessionFactory的配置及管理Hibernate;然后選擇數(shù)據(jù)庫(kù)連接信息;最后取消SessionFactory類的創(chuàng)建。
(4)生成與數(shù)據(jù)庫(kù)表對(duì)應(yīng)的Java數(shù)據(jù)對(duì)象和映射。打開(kāi)MyEclipse的Database Exploer Perspective,右擊User表,選擇 Hibernate Reverse Engineering菜單項(xiàng),生成持久化類 User.java及映射文件 User.hbm.xml,這兩個(gè)文件位于src下的org.model包中。
(5)實(shí)現(xiàn)DAO層,編寫(xiě)UserDao接口。在src文件夾下org.dao包下生成接口文件UserDao.java,該接口中聲明了保存用戶信息、刪除多個(gè)用戶、獲得全部用戶列表、獲得單個(gè)用戶數(shù)據(jù)等與數(shù)據(jù)庫(kù)交互方法。
(6)編寫(xiě)UserDao接口的實(shí)現(xiàn)類。在src文件夾下org.dao.imp包下生成類文件UserDaoImp.java,該實(shí)現(xiàn)類主要利用UserDao接口實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互,完成數(shù)據(jù)存儲(chǔ)訪問(wèn)。
(7)分析業(yè)務(wù)邏輯,編寫(xiě)UserService接口及實(shí)現(xiàn)類。在src文件夾下org.service包下生成接口文件UserService.java。在src文件夾下org.service.imp包下生成類文件UserServiceManage.java。該接口文件和實(shí)現(xiàn)類文件的主要任務(wù)是將UserDao接口和實(shí)現(xiàn)類進(jìn)行封裝,從而讓控制器無(wú)需直接訪問(wèn)DAO的方法,而是調(diào)用業(yè)務(wù)邏輯的方法。
(8)添加Struts2開(kāi)發(fā)能力及整合Spring框架。為了支持Struts2開(kāi)發(fā)能力,需要在web.xml中配置相應(yīng)的過(guò)濾器以及在src文件夾下創(chuàng)建struts.xml配置文件;為了實(shí)現(xiàn)Struts2與Spring整合需要在web.xml中配置相應(yīng)的監(jiān)聽(tīng)器及創(chuàng)建消息包文件struts.properties,其代碼為:struts.objectFactory=spring。
(9)創(chuàng)建Struts的Action類。在src文件夾下org.action包下生成類文件UserAction.java,該類繼承于ActionSupport類。在這個(gè)實(shí)現(xiàn)類中,主要確定用戶對(duì)象的用戶ID、用戶名、密碼等屬性。
(10)在Spring中進(jìn)行注冊(cè)。注冊(cè)UserDao接口和實(shí)現(xiàn)類、注冊(cè)UserService接口和實(shí)現(xiàn)類、注冊(cè)UserAction實(shí)現(xiàn)類、配置聲明式事務(wù)和注入組件的依賴關(guān)系。在Spring配置文件applicationContext.xml中注冊(cè)的部分實(shí)現(xiàn)代碼如下:
從清單中應(yīng)用程序上下文可看出,Spring允許加入依賴性。如userDao傳遞給userService,userService傳遞給userAction。
(11)配置struts.xml。在struts.xml配置文件中添加如下代碼:
這樣,在瀏覽器中可以通過(guò)userAction.action進(jìn)行訪問(wèn)。當(dāng)ServletDispatcher接收到用戶請(qǐng)求后,然后根據(jù)配置文件會(huì)轉(zhuǎn)發(fā)到org.action。Struts的view支持如jsp、velocity、xslt、freemarker等多種顯示方式,這里采用jsp進(jìn)行數(shù)據(jù)顯示。
(12)編寫(xiě)單元測(cè)試代碼。在整個(gè)代碼編寫(xiě)過(guò)程中可以穿插編寫(xiě)單元測(cè)試代碼,例如在XYDADemo中,可針對(duì)UserServiceImpl.java、UserAction.java等分別編寫(xiě)單元測(cè)試代碼。
通過(guò)對(duì)Struts2、Spring及Hibernate三個(gè)開(kāi)源框架技術(shù)的整合,構(gòu)建出基于大學(xué)生信用檔案共享的高校合作創(chuàng)業(yè)就業(yè)網(wǎng)絡(luò)平臺(tái),該平臺(tái)為大學(xué)生信用檔案管理提供一種數(shù)字化管理及共享方式,為用人單位提供畢業(yè)生真實(shí)可靠的信息內(nèi)容,為大學(xué)生創(chuàng)業(yè)就業(yè)提供誠(chéng)信“通行證”。同時(shí)它將使校企合作創(chuàng)業(yè)就業(yè)過(guò)程信息化,增加各類社會(huì)創(chuàng)業(yè)資源的引入,開(kāi)拓實(shí)習(xí)就業(yè)渠道。
[1] 謝蓁.高校大學(xué)生信用檔案建立初探[J].云南檔案,2007(9):108-109.
[2] 王家騏,于海霞.基于MVC設(shè)計(jì)模式的WEB應(yīng)用框架研究[J].計(jì)算機(jī)與信息技術(shù),2006(11):8-10.
[3] 孫衛(wèi)琴.精通Struts:基于MVC的Java Web設(shè)計(jì)與開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2005.
[4] 張瑋,陳為.基于struts+spring+hibernate框架的探討與研究[J].長(zhǎng)春大學(xué)學(xué)報(bào),2006,16(6):75-80.
[5] 孫衛(wèi)琴.精通Hibernate:Java對(duì)象持久化技術(shù)詳解[M].北京:電子工業(yè)出版社,2005.
The Network Platform for University Cooperative Entrepreneurship and Employment Based on Undergraduates’Credit File Sharing
YANY Li-ping,WANG Wei
(College of Computer Science and Technology,Changchun University,Changchun 130022,China)
In view of the credit crisis of undergraduates and problems during entrepreneurship and employment,based on MVC model and JAVA EE exploring platform,a university cooperative entrepreneurship and employment network platform with a multi-tier B/S model is put forward based on undergraduates’credit file sharing and with Source Frame technique of SSH(Struts2+Spring+Hibernate).This paper briefly introduces the framework and functions of the system,and the entire process of the user management module exploration.
SSH structure;credit file;university cooperation;entrepreneurship and employment
TP393.092
A
1009-3907(2012)08-0941-04
2012-05-25
吉林省教育科學(xué)規(guī)劃課題(H11045)
楊麗萍(1976-),女,吉林長(zhǎng)春人,講師,碩士,主要從事計(jì)算機(jī)應(yīng)用、嵌入式系統(tǒng)等方面的研究。
責(zé)任編輯:吳旭云