999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SSH框架的考試系統設計與實現

2013-04-29 00:44:03葉廣仔劉曉蔚
計算機時代 2013年7期

葉廣仔 劉曉蔚

摘 要: 采用SSH框架對考試系統進行整合,利用Struts完成控制層的管理,利用Hibernate實現數據持久化,通過Spring處理業務邏輯。通過控制器將表現邏輯和業務邏輯解耦,可以提高系統的可維護性、可擴展性和可重用性;通過Hibernate框架在關系型數據庫和Java對象之間實現了一個自動映射,可使得程序員對數據庫進行操作時更簡單。

關鍵詞: 考試系統; Struts; Spring; Hibernate

中圖分類號:TP311.1 文獻標志碼:A 文章編號:1006-8228(2013)07-28-04

0 引言

傳統教學中,要進行一場考試,需要教師編寫試卷、印試卷、安排考試、監考、收集試卷、評改試卷等,是一個繁雜的過程,需要大量人力、物力以及時間的投入,已經越來越不適應當今學校信息化建設與現代教學的需要。基于網絡的在線考試系統己經成為現代考試方式的有力補充和發展方向,在線考試不僅節省了資源,而且提高了評分的客觀性、公正性和準確度,大大提高了考試工作的效率。

本系統通過J2EE技術[1]的SSH框架實現網絡在線考試系統的整合,利用Struts完成控制層的管理,用Hibernate實現數據持久化,以及通過Spring處理業務邏輯[2]。在線考試系統的開發,利用構件化的開發模式,以更好地實行代碼的重用性,同時為以后的升級和維護提供很大的便利[3]。

1 系統SSH框架設計

本系統采用SSH框架[4]進行系統開發的整合,如圖1所示,為系統后臺的目錄結構,主要包含Action包、Bean包、Service包,以及beans.xml和struts.xml配置文件。其中action包中的類利用Struts框架實現考試系統控制層,Bean包中的類文件實現數據的封裝并通過Hibernate框架與關系數據庫中的表格實現映射,以及Service包中的類文件通過Spring框架處理系統服務器端的業務邏輯。通過3個框架的結合形成一種構件化的系統開發模式。

1.1 Struts框架實現

Struts2框架[5]中核心組件就是Action類,用于封裝客戶端的請求并調用業務層的Service類,其中通過web.xml文件配置過濾器、通過struts.xml文件配置客戶端頁面請求的跳轉。

⑴ web.xml文件與struts.xml文件配置

如下為web.xml配置文件的關鍵代碼:

contextConfigLocationclasspath:beans.xml

org.springframework.web.context

.ContextLoaderListener

struts2

org.apache.struts2.dispatcher.ng.filter

.StrutsPrepareAndExecuteFilter

通過配置標簽的參數屬性指定Spring框架的配置文件為beans.xml,配置標簽的監聽類以便初始化Spring容器。配置標簽的過濾類可指定Struts框架的過濾器為StrutsPrepareAndExecuteFilter類。

另外,在struts.xml配置文件中利用標簽配置客戶端的請求跳轉,并通過標簽指定Struts框架的Action類交給Spring框架管理。

html/teacherModule.html

⑵ Action類實現

以學生action類為例介紹action包中控制類的實現,如下為StudentAction類的實現代碼:

@Controller("studentAction") @Scope("prototype")

public class StudentAction extends ActionSupport {

@Resource

private StudentService studentService;

@Resource

private ClassService classService;

}

其中,通過注釋@Controller指定StudentAction類為控制類,通過注釋@Resource對bean進行裝配,實現屬性的自動注入。

1.2 Spring框架實現

Spring框架[6]提供了依賴注入來實現容器對Bean的管理,核心容器的主要組件是 BeanFactory,它是工廠模式的實現。BeanFactory使用控制反轉(IOC)模式將應用程序的配置和依賴性規范與實際的應用程序代碼分開。

⑴ beans.xml配置文件

在beans.xml配置文件,通過標簽隱式地向 Spring 容器注冊4個BeanPostProcessor以實現注釋驅動、屬性文件引入、加載期植入等功能,利用標簽設置數據源dataSource的連接參數,標簽配置Hibernate框架的sessionFactory工廠類,以及配置事務管理器transaction-manager。部分配置代碼如下:

⑵ 業務層Bean實現

在命題計劃業務處理Bean(PapConstructServiceBean)中通過注釋來實現依賴注入,如:@Service用于標注業務層組件@Transactional,聲明這個Service所有方法需要事務管理,@Resource按照配置給屬性注入實例。此外,實現了save()、queryByIds()、update()、delete()等方法,用于處理客戶端對命題計劃信息的添加、查詢、更新以及刪除等操作。

@Service@Transactional

public class PapConstructServiceBean implements

PapConstructService {

public void save(PaperConstruct papcons) { … }

public void delete(int... ids) { … }

public List queryByIds(Integer...ids) { … }

public void update(PaperConstruct... consts) { … }

}

1.3 Hibernate框架實現

Hibernate框架[7]是一個對象關系映射(ORM)工具。對象關系映射ORM是一個將實體/類映射到關系數據庫表的編程方法。

⑴ 配置文件

由于SSH框架的整合,Hibernate框架的SessionFactory配置在Spring框架的beans.xml配置文件中,交由Spring框架管理實體Bean。其中標簽指定每個POJO類對應的*.hbm.xml配置文件。標簽設置Hibernate框架的SQL方言、自動更新數據庫表結構。

cn/edu/dgpt/exam/bean/Choise.hbm.xml

hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

此外,為了實現實體類與關系表的映射,對于每個POJO類都配置有一個與類名相同的*.hbm.xml配置文件,配置文件中為了反映實體類間一對一、一對多、多對一、多對多,以及組件等多種關聯關系的映射,采用了

以及等多種標簽來指定。以下為PaperConstruct類的配置文件部分代碼:

lazy="false" cascade="save-update"/>

cascade="save-update,delete">

⑵ 關系數據庫的自動生成

通過Hibernate框架的指定hibernate.dialect屬性值為org.hibernate.dialect.MySQL5Dialect,以及hibernate.hbm2ddl.auto屬性為update,Hibernate框架將自動在MySQL數據庫創建或更新與實體類相映射的關系表,如圖2所示,從而使開發人員大大地節省開發時間。

2 考試系統的實現

考生輸入學號和密碼登錄系統后,選擇對應的試卷可進入考試界面,如圖3所示。系統根據命題計劃從題庫中抽取不同的題型,如判斷題、選擇題、填空題、簡答題或編程題進行組卷。考生答題時,系統有倒計時的功能,考試結束時還沒提交試卷的話系統將自動交卷。

考試結束后,考試系統可對客觀題進行自動批閱,這縮短了教師批改試卷的時間,在減少人力同時提高了評分的客觀性,從而提高了考試工作的效率。

試卷批閱界面如圖4所示。

3 結束語

本系統通過Struts+Spring+Hibernate框架實現網絡在線考試系統的整合,通過模塊化設計提高代碼的重用性,同時提高代碼的可維護性和穩定性。從而使系統結構清晰,對程序的維護提供很大的便利。

本系統的設計還處于初期階段,下一階段將在系統前、后臺的性能方面作進一步的研究,實現SSH與ExtJS框架[8]的對接,引入前后臺緩存,以減少Web服務器和數據庫服務器的工作量。

參考文獻:

[1] 翟高粵.基于J2EE技術的SSH框架的改進及應用[J].計算機時代,2012.10:24-26

[2] 于湛麟,李仲秋,任永昌.SSH框架實現MVC架構的電子商務軟件平臺[J].計算機技術與發展,2012.22(10):169-172

[3] 黃華.基于SSH框架的題庫系統設計與實現[J].計算機光盤軟件與應用,2012.20:192-193

[4] 青島海爾軟件有限公司.Java EE輕量級解決方案——S2SH[M].電子工業出版社,2011.

[5] 葉健毅.精通Java EE:Eclipse Struts 2 Hibernate Spring整合應用案例[M].人民郵電出版社,2010.

[6] 陳天河.輕量級Web應用開發寶典:Struts 2.1+Hibernate 3.5+Spring 3.0整合開發[M].電子工業出版社,2010.

[7] 梁立新.項目實踐精解:基于Struts-Spring-Hibernate的Java應用開發[M].電子工業出版社,2006.

[8] Shea Frederick, Colin Ramsay, Steve 'Cutter' Blades著.Ext JS學習指南[M].人民郵電出版社,2009.

主站蜘蛛池模板: 欧美视频免费一区二区三区| 伊人久久福利中文字幕| 久久免费观看视频| 韩日午夜在线资源一区二区| 亚洲第一视频网站| 精品无码一区二区三区在线视频| 99热6这里只有精品| 国产乱人免费视频| 永久成人无码激情视频免费| 五月激情婷婷综合| 一级毛片在线播放免费| 欧美性猛交xxxx乱大交极品| 91精品久久久无码中文字幕vr| 大学生久久香蕉国产线观看 | 不卡视频国产| 九九九精品视频| 国产日韩欧美黄色片免费观看| 久久香蕉欧美精品| 一级一毛片a级毛片| 91成人免费观看| 婷婷成人综合| 亚洲综合精品香蕉久久网| 久久精品国产91久久综合麻豆自制| 久久综合婷婷| 54pao国产成人免费视频| 国产福利一区在线| 日韩无码黄色网站| 在线网站18禁| 久久国产香蕉| 青青青亚洲精品国产| 又爽又大又黄a级毛片在线视频| 久热精品免费| 丁香六月激情综合| 精品国产自在现线看久久| 欧美翘臀一区二区三区| 操国产美女| 欧美另类精品一区二区三区| 中文无码影院| 亚洲天堂伊人| 国产精品自在在线午夜| 91久久青青草原精品国产| 国产精品太粉嫩高中在线观看| 久久亚洲精少妇毛片午夜无码| 91区国产福利在线观看午夜 | 国内嫩模私拍精品视频| 国内丰满少妇猛烈精品播| 国产欧美中文字幕| 国产高清色视频免费看的网址| 亚洲成人黄色网址| 成人日韩精品| 亚洲最大看欧美片网站地址| 广东一级毛片| 亚洲a级毛片| 宅男噜噜噜66国产在线观看| 国产成人无码播放| 白浆视频在线观看| 国产精品自在拍首页视频8| 亚洲男人的天堂网| 亚卅精品无码久久毛片乌克兰| 亚洲三级片在线看| 亚洲精品第一在线观看视频| 99久久亚洲精品影院| 人妻丝袜无码视频| 国产女主播一区| 国产在线观看99| 华人在线亚洲欧美精品| 精品国产成人a在线观看| 国产黄色片在线看| 亚洲男人的天堂在线| 亚洲人成网站在线观看播放不卡| 久久精品一品道久久精品| 日本日韩欧美| 国产爽妇精品| 波多野结衣一二三| 亚洲天堂高清| 国产区精品高清在线观看| 97精品国产高清久久久久蜜芽| 久久久久亚洲精品无码网站| 久久黄色一级片| 成人午夜免费观看| 国产精品护士| 无码区日韩专区免费系列|