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

基于SSM框架的在線教學系統的設計

2019-05-05 03:31:32鄭逸凡
長沙大學學報 2019年2期
關鍵詞:頁面數據庫工程

鄭逸凡

(福州外語外貿學院理工學院,福建 福州 350202)

隨著科技的發展與社會的變遷,僅依靠傳統的課堂教學方式已無法幫助學生充分利用時間,保障高效學習.本研究基于Spring+SpringMVC+MyBatis框架開發一套在線教學系統.這一系統使得學生可以提前預習相應課程內容,課后及時地鞏固和復習已經學過的知識,更好地與老師和其他同學交流和互動,具有很好的實用價值.

1 系統功能模塊劃分

本系統為廣大學生搭建一個在線學習交流的平臺,分為后臺管理和前臺教學這兩個子系統.后臺管理系統的主要功能模塊有:管理員用戶管理、權限管理、角色管理、學科管理、班級管理、學習卡管理、篇章管理、段落管理;前臺教學系統的主要功能模塊有:用戶注冊登錄、查看學習卡、學習課程、查看問題、提問問題、回答問題、系統消息通知.

2 系統技術架構

根據系統的功能、業務、用途、規模等特點,在數據存儲訪問方面,在經典的MySQL關系數據庫的基礎上增加Redis緩存服務器,并且把文件的存儲、訪問交給專門的文件服務器,視頻課程管理也交給專門的視頻服務器[1].

系統使用maven管理項目結構,把整個項目拆分為7個工程模塊:第一個是parent模塊,該模塊是pom工程,主要用來統一管理依賴jar的版本,其他模塊都繼承此模塊;第二個是pojo模塊,該模塊是jar工程,包含了項目用到的pojo類;第三個是common模塊,該模塊是jar工程,主要包含工具類以及其他通用的類;第四個是mapper模塊,該模塊是jar工程,實現DAO層的功能;第五個是service模塊,該模塊是jar工程,實現service層的功能;第六個是admin模塊,該模塊是war工程,同時也是后臺管理系統,包括controller層、jsp頁面、前端組件等;第七個是front模塊,該模塊是war工程,同時也是前臺系統,包括controller層、jsp頁面、前端組件等.

系統整體采用Spring+SpringMVC+MyBatis開發框架,前端主要采用Bootstrap、UEditor、layer、laypage等框架和組件,另外系統還采用了pageHelper、云存儲、云視頻等技術.

3 數據庫設計

在本系統中,數據庫設計遵循統一的設計規范:每張表都有一個邏輯主鍵列id,即id bigint primary key auto_increment;使用中間表來表示兩張表的多對多關聯關系;對中間表的關聯關系進行外鍵約束;對非中間表使用isDeleted列進行軟刪除[2].比如權限管理模塊的相關表設計如下:

管理員用戶表T_AdminUsers(id,account,passwordSalt,password,isDisabled,isDeleted);

角色表T_Roles(id,name,description,isDeleted);

權限表T_Permissions(id,path,description,isDeleted);

管理員用戶和角色關聯表T_AdminUserRoles(id,adminUserId,roleId);

角色和權限關聯表T_RolePermissions(id,roleId,permissionId).

4 項目SSM框架整合

系統admin模塊和front模塊均為war工程,繼承parent模塊,依賴service模塊,傳遞依賴common、mapper、pojo模塊,主要包含controller層的類、jsp頁面、前端組件、配置文件等.系統使用MyBatis作為持久層框架,配置文件為mybatis-config.xml;使用Spring作為bean容器,配置文件為beans.xml;使用SpringMVC作為前端MVC框架,配置文件為dispatcher-servlet.xml;在web.xml中初始化Spring和SpringMVC;使用log4j2作為日志實現.例如,在web.xml中配置Spring容器的代碼如下:

contextConfigLocation

classpath:beans.xml

org.springframework.web.context.ContextLoaderListener

5 系統功能模塊實現

整個項目采用統一的utf-8編碼,服務器采用tomcat8,在整個系統開發之前統一設置編碼過濾器,具體的操作是:在web.xml文件中配置Spring框架提供的CharacterEncodingFilter過濾器,對用戶的post請求和響應進行統一的字符編碼[3].

5.1 parent模塊實現

該模塊是pom工程,是其他模塊的父工程,主要用來管理依賴jar的版本,管理JDK編譯器版本等,例如pom.xml文件中MyBatis和Spring整合的依賴配置如下:

5.2 common模塊實現

該模塊是jar工程,主要包含一些通用的工具類和工具方法,其他模塊可以方便地共享這些工具類和方法,主要包括AjaxResult、ImageCodeUtils、EmailUtils、JsonUtils、JedisUtils、UploadUtils、CommonUtils等工具類.例如,JsonUtils類中的toJson方法可以把bean對象轉換為json字符串,核心代碼如下:

private staticObjectMapper objectMapper = new ObjectMapper();

public static StringtoJson(Object obj) {

objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));

objectMapper.setSerializationInclusion(Include.NON_NULL);

try {

returnobjectMapper.writeValueAsString(obj);

} catch (JsonProcessingException e) {

throw newRuntimeException(e);

}

}

5.3 pojo模塊實現

每張數據庫表對應一個pojo類,表中的列和pojo類中的字段一一對應(isDeleted字段除外);pojo類中基本數據類型的字段使用包裝類型進行聲明;pojo類實現Serializable,并且使用id字段生成hashCode()和equals()方法;對于外鍵列對應的類的字段的類型,使用基本類型(包裝類型);pojo類的字段類型不使用關聯的pojo類,也不使用集合類型的字段[4].

5.4 mapper模塊實現

首先聲明一個通用的IMapper接口,提供對數據庫表基本的增刪改查操作;然后聲明一個通用的IManyToManyMapper接口繼承自IMapper,提供對中間表的其他基本操作.非中間表的pojo類對應的mapper接口直接繼承自IMapper接口,而中間表的pojo類對應的mapper接口繼承自IManyToManyMapper接口.每個pojo類的mapper映射文件與mapper接口一一對應,主要提供了具體的數據庫操作實現,比如SubjectMapper映射文件的主要內容如下:

5.5 service模塊實現

首先聲明一個BaseService通用類,提供基本的增刪改查分頁排序功能;然后聲明一個ManyToManyBaseService通用類,繼承自BaseService,提供對中間表的其他功能;每個pojo類對應一個Service類.

BaseService類的成員變量mapper會自動根據泛型T的具體值注入對應的mapper對象,PageHelper是開源的分頁組件,BaseService類的部分代碼如下:

public classBaseService {

@Autowired

privateIMapper mapper;

public ListselectList(T pojo, String orderBy) {

PageHelper.orderBy(orderBy);

returnmapper.select(pojo);

}

}

5.6 admin模塊實現

該模塊主要完成的是系統的后臺管理,包括權限管理、學習卡管理、篇章和段落管理,總的設計思路是采用MVC的設計思想:首先利用前端框架制作頁面的靜態效果頁,然后在控制器中編寫相應的方法處理各種請求,當請求處理完成后將響應結果傳遞給視圖頁面進行渲染[5].

例如,當要進行學習卡的添加操作時,需要讀取數據庫中現有的所有學習卡,首先制作出學習卡的列表頁面cardList.jsp,然后,在學習卡控制器CardController中編寫addPage方法,從數據庫中獲取學習卡對象集合,最終傳遞給cardList.jsp視圖頁,addPage方法具體實現代碼如下:

@RequestMapping(value = "/add.do", method = RequestMethod.GET)

publicModelAndView addPage() {

ListsubjectList = subjectService.selectList();

ModelAndView modelAndView = new ModelAndView("card/add");

modelAndView.addObject("subjectList", subjectList);

returnmodelAndView;

}

admin模塊中學習卡管理的最終頁面效果如圖1所示:

圖1 admin模塊最終效果圖

5.7 front模塊實現

該模塊主要完成的是系統的前臺功能,包括個人信息的管理、學習進度的跟蹤、學生和老師之間的互動等功能,該模塊總的設計思想與admin模塊相似,也是采用MVC設計思想.其中文件上傳的功能采用的是云存儲技術,目的是為了降低主應用服務器的處理壓力.利用云存儲進行文件上傳的實現步驟是:首先獲得云存儲服務器的AccessKey和SecretKey,然后根據獲取的存儲空間所在區域創建相應的配置對象,接著根據配置信息創建文件上傳管理對象,最后調用put方法把用戶選擇的文件上傳到云服務器上.文件上傳到云服務器的主要代碼如下:

Setting bucket =settingService.selectOneByName("upload_bucket");

SettingaccessKey = settingService.selectOneByName("upload_accessKey");

SettingsecretKey = settingService.selectOneByName("upload_secretKey");

Authauth = Auth.create(accessKey, secretKey);

Zone z =Zone.autoZone();

Configuration c = new Configuration(z);

UploadManager uploadManager = new UploadManager(c);

Response res =uploadManager.put(file, file.getName(), auth.uploadToken(bucket));

front模塊為學生提供了在線提問等功能,方便學生與老師實現互動交流,比如學生在線提問的最終頁面效果如圖2所示:

圖2 front模塊中學生在線提問頁面效果圖

基于Spring+SpringMVC+MyBatis技術極大地提高了web系統的開發效率,對系統進行分模塊設計有利于系統的擴展性和可維護性.在線教學系統的最終呈現效果,頁面簡潔、風格統一,系統操作簡單,能夠提供在線的學習和交流的功能.在線學習平臺不僅輕松解決了學習資料的共享問題,而且極大地方便了學生利用碎片化的時間進行學習和提高,師生之間的互動性也明顯增強.

猜你喜歡
頁面數據庫工程
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
數據庫
財經(2017年2期)2017-03-10 14:35:35
子午工程
太空探索(2016年6期)2016-07-10 12:09:06
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
工程
工程
工程
主站蜘蛛池模板: 99久久性生片| 在线观看国产黄色| 免费无码AV片在线观看国产| 激情网址在线观看| 看国产毛片| 亚洲AV成人一区二区三区AV| 日韩精品欧美国产在线| 亚洲中文字幕在线观看| 中国美女**毛片录像在线| 亚洲黄色高清| 伊人激情久久综合中文字幕| 国产精品无码在线看| 伊在人亚洲香蕉精品播放| 亚洲欧美精品一中文字幕| 国产福利2021最新在线观看| 国产va在线观看| 91精品专区国产盗摄| 欧美国产在线看| 日韩毛片视频| 亚洲无线一二三四区男男| 手机在线看片不卡中文字幕| 国产在线观看91精品| 思思热精品在线8| www精品久久| 无码AV动漫| 日韩a级毛片| 久久亚洲美女精品国产精品| 女人毛片a级大学毛片免费| 日本道中文字幕久久一区| 欧美综合区自拍亚洲综合天堂| 国模私拍一区二区三区| 91精品国产自产91精品资源| www成人国产在线观看网站| 搞黄网站免费观看| 欧美日韩一区二区三| 日韩人妻精品一区| 欧美成人看片一区二区三区 | 亚洲欧美极品| 成人一级黄色毛片| 久久精品国产精品青草app| 亚洲va视频| 亚洲V日韩V无码一区二区| 国产日韩精品欧美一区喷| 精品国产一二三区| 中文字幕佐山爱一区二区免费| 亚洲成年网站在线观看| 色综合五月婷婷| 2021天堂在线亚洲精品专区| 久久香蕉国产线看观| 國產尤物AV尤物在線觀看| 亚洲无码高清一区| 国产精品亚洲va在线观看| 72种姿势欧美久久久久大黄蕉| 无码有码中文字幕| 国产一二视频| 亚洲色图综合在线| a网站在线观看| 国产精品永久久久久| 香蕉综合在线视频91| 97久久免费视频| 在线观看亚洲精品福利片| 欧美久久网| 成人福利一区二区视频在线| 国产精品第三页在线看| 999国产精品| 日韩第九页| 亚洲无码在线午夜电影| 日本亚洲成高清一区二区三区| 91精品小视频| 久久五月天国产自| 精品国产黑色丝袜高跟鞋| 日韩精品免费在线视频| 国产不卡网| 亚洲日韩精品欧美中文字幕| 国产精品99久久久| 99在线视频网站| 国产亚洲精久久久久久无码AV| 日韩东京热无码人妻| 一本色道久久88亚洲综合| 欧美一级在线| 色亚洲成人| 午夜视频在线观看免费网站|