【正文】
yBatis 使用簡(jiǎn)單,可以使 SQL 語句與程序代碼分離,減少了代碼量,架構(gòu)級(jí)性能比較強(qiáng),可以簡(jiǎn)化項(xiàng)目中的分工,增強(qiáng) 了移植性,不方便的地方就是 SQL 語句需要自己寫,而且只能帶一個(gè)參數(shù),但是我們可以用 MAP 的方式解決它。由于這四個(gè)軟件都是自由或開放源碼軟件( FLOSS),因此使用這種方式不用花一分錢就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng) [15]。在2020 年 1 月 16 號(hào)被 Sun 公司收購 [12]。當(dāng)用戶在頁面上點(diǎn)擊鏈接或者是提交表單時(shí),控制器本身是不做處理的,它所做的是對(duì)接收到的請(qǐng)求判斷并決定哪個(gè)模 型構(gòu)件去處理這個(gè)請(qǐng)求,并且決定用哪個(gè)視圖去顯示返回來的數(shù)據(jù)。 MVC 就是要把 M 和 V 層做到代碼的分層,可以是一個(gè)程序有著不同的表現(xiàn)形式。 (3)Spring AOP:通過面向切面的配置管理, Spring 框架本身自帶了面向切面的編程功能。整個(gè) Spring 框架濃縮在一個(gè)大小只有 1MB 多的 JAR 包里。 (3) 聲明式事務(wù)的支持 Spring 本身提供了聲 明式的事務(wù)管理 Transaction,可以基于 Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 5 在軟件運(yùn)行過程中出現(xiàn)異常時(shí)做數(shù)據(jù)回滾操作,防止出現(xiàn)一部分操作成功,另一部分操作不成功的現(xiàn)象,從而對(duì)安全性方面有了更好的保障。 Spring 使用 JavaBean可以完成以前只可能由 EJB 完成的事情。 第五章 系統(tǒng)實(shí)現(xiàn),講了系統(tǒng)實(shí)現(xiàn)的過程和所采用的技術(shù),最后對(duì)系統(tǒng)所用到的關(guān)鍵技術(shù)以及一些技術(shù)難點(diǎn)重點(diǎn)做了講解。很少高校將系 統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)應(yīng)用到公寓管理當(dāng)中,本系統(tǒng)就是從此角度出發(fā)才想要做出一個(gè)完整易用的系統(tǒng)將研究變?yōu)閷?shí)現(xiàn)和現(xiàn)實(shí)。同時(shí)專家認(rèn)為學(xué)校的信息化發(fā)展戰(zhàn)略今后要解決的迫切問題是明確 IT 發(fā)展目標(biāo)、防止 IT 人才流失、建立信息化預(yù)算模型、課程管理系統(tǒng)和網(wǎng)上教學(xué)資源建設(shè)等。國(guó)內(nèi)高校公寓信息管理普遍還處于手工進(jìn)行信息記錄和管理的情況,效率不高,不僅不方便管理員進(jìn)行管理而且學(xué)生的需求不能得到及時(shí)有效的解決,最終會(huì)對(duì)學(xué)生的生活和學(xué)習(xí)造成較大的影響。結(jié)合高校公寓管理實(shí)際現(xiàn)狀以及國(guó)內(nèi)外高校公寓管理信息化和自動(dòng)化研究現(xiàn)狀的前提下對(duì)高校公寓管理系統(tǒng)進(jìn)行研究 [2]。 本文開發(fā)的基于 B/S 模式的 高校學(xué)生公寓管理系統(tǒng),使用 javascript 動(dòng)態(tài)網(wǎng)頁制作技術(shù)以及 Ajax 異步交互技術(shù)作為主要的前臺(tái)開發(fā)語言,實(shí)現(xiàn)前后臺(tái)的數(shù)據(jù)交互;后臺(tái)選用采用 SpringMVC+MyBatis 作為后臺(tái)開發(fā)框架, 作為數(shù)據(jù)庫服務(wù)器。 關(guān)鍵詞 公 寓 管 理 /SpringMvc/ MySQL/ 高?;?Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) II The college students apartment information management system based on Web design and implementation ABSTRACT The apartment in university provided for students plays an important role in their life. Study and munication, and it is also a showpiece which reflects the civilization and spirit of a university. Previous apartments management was still in the stage of manual operation with bow efficiency,so it is not good for the feedback and solving the problems. Nowadays,puter and work technology is being more and more widely used .By using it,it can enhance the munication between students and the supervisor and then it create a harmonious and stable and the supervisor for the students, thus it has big prospects. Student apartment management system based on B/S model development, dynamic web page production techniques and using javascript Ajax asynchronous interaction technology as the main front desk development language, realize Taiwan before and after data interaction。另一方面隨著計(jì)算機(jī)信息技術(shù)發(fā)展應(yīng)用生活中隨處可見計(jì)算機(jī)輔助人員工作并且大大提高了工作 效率,而高校公寓管理也迫切需要這樣的一套計(jì)算機(jī)技術(shù)系統(tǒng)進(jìn)行輔助管理,加之近些年國(guó)內(nèi)高校信息化的推進(jìn),關(guān)于高校公寓的研究已經(jīng)出了很多可用成果,并且已經(jīng)有不少高校將公寓管理系統(tǒng)投入了實(shí)用。 在美國(guó),克萊蒙特大學(xué)凱尼斯基于網(wǎng)絡(luò)的遠(yuǎn)程教育開展不盡如人意,學(xué)校當(dāng)前規(guī)劃最注重的方面是教學(xué)資源獲取的便捷性、學(xué)生上網(wǎng)的方便性和網(wǎng)絡(luò)安全性 [5]。 公寓信息管理系統(tǒng)的實(shí)現(xiàn)將使學(xué)校學(xué)生都得到很大的方便,是校園信息化建設(shè)的進(jìn)一步完善,對(duì)建設(shè)和諧穩(wěn)定高效的校園環(huán)境產(chǎn)生重大意義。 基于 Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 4 2 系統(tǒng)關(guān)鍵技術(shù) 本系統(tǒng)采用當(dāng)前比較流行的 B/S( Browser/Server)架構(gòu)模式,使用 JavaEE 開發(fā)語言組成的 Java Web 應(yīng)用程序平臺(tái),使用 MySQL 數(shù)據(jù)庫,運(yùn)用軟件工程的相關(guān)知識(shí)在 SpringMVC+MyBatis 框架下進(jìn)行系統(tǒng)的 設(shè)計(jì)與完成,以下講詳細(xì)介紹開發(fā)中所用到的關(guān)鍵技術(shù)。 Spring 是一個(gè)輕量級(jí)的控制反轉(zhuǎn) (IOC)和面向切面 (AOP)的容器框架。 (5)方便集成各種優(yōu)秀框架 Spring 之所以成為目前非常流行的 java 框架之一,和其本身對(duì)很多優(yōu)秀開源框架提供支持離不開關(guān)系,像 Struts Hibernate、 Mybatis等優(yōu)秀的框架可以直接在 Spring 上直接用,兼容性也做得相當(dāng)?shù)牟诲e(cuò),這也是越來越多的人使用它的原因之一。 Spring 的這些特征可以使你編寫的代碼更加的干凈、更可管理性及易于測(cè)試。它簡(jiǎn)化了對(duì)錯(cuò)誤的處理,而且使我們需要編寫的關(guān)于異常代碼量大為減少,像是常用的打開關(guān)閉連接數(shù)據(jù)庫。 M 層與具體的數(shù)據(jù)格式無關(guān),而且它可以為多個(gè)視圖提供數(shù)據(jù),我們所寫的代碼可以重復(fù)多次被不同的視圖使用,大大減少了代碼的重復(fù) 性??梢哉f Jquery 是一個(gè)輕量級(jí)的 JS 庫,也可以說它是一個(gè)插件,它兼容 CSS3 和各種瀏覽器。 MySQL 的官方網(wǎng)站的網(wǎng)址是: ( 1) 使用 C 和 C++編寫,并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性 ( 2) 支持 AIX、 FreeBSD、 HPUX、 Linux、 Mac OS、 Novell Netware、 OpenBSD、OS/2 Wrap、 Solaris、 Windows 等多種操作系統(tǒng) ( 3) 為多種編程語言提供了 API。 phpMyBackupPro 也是由 PHP 寫成的,可以透過 Web 介面創(chuàng)建和管理數(shù)據(jù)庫。 基于 Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 1 3 系統(tǒng)需求分析 軟件需求分析是軟件開發(fā)過程中一個(gè)十分重要的步驟,只有把需求和業(yè)務(wù)搞清楚,發(fā)開軟件才能事半功倍,軟件執(zhí)行起 來效率也更高。 ( 3) 經(jīng)濟(jì)可行性,本文采用的開發(fā)環(huán)境,即 Spring+JSP 組合均屬于開源軟件,所以其產(chǎn)生的費(fèi)用則是微乎其微, MySQL 數(shù)據(jù)庫 也是完全免費(fèi)好用的小中型系統(tǒng)常用數(shù)據(jù)庫, Tomcat 服務(wù)器也是免費(fèi)使用的,故本系統(tǒng)在經(jīng)濟(jì)上是可行的。本文從不同用戶的角度來分析其功能需求。 ( 4) 公告管理,包含宿舍公告信息的增加及決定是否發(fā)布。 ( 4) 個(gè)人密碼修改。 ( 3) 方便實(shí)用,操作簡(jiǎn)單、功能好使好用是保證學(xué)生和管理員對(duì)該系統(tǒng)的正常使用為前提。另外還需保證數(shù)據(jù)操作的原子性。本章對(duì)軟件從總體目標(biāo)、總體設(shè)計(jì)、系統(tǒng)功能詳細(xì)設(shè)計(jì)以及數(shù)據(jù)庫設(shè)計(jì)這幾個(gè)方面進(jìn)行了詳細(xì)的設(shè)計(jì)。 基于 Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 7 圖 41 系統(tǒng)軟件架構(gòu)圖 子系統(tǒng)劃分 本系統(tǒng)的用戶分為三種: ( 1) 超級(jí)管理員,超級(jí)管理員擁有最高的系統(tǒng)權(quán)限,可以對(duì)公寓樓進(jìn)行管理,包括添加,修改,刪除,以及將公寓樓分配給某個(gè)管理員進(jìn)行管理,以及查看各公寓樓情況等。 學(xué)生用戶可以在前臺(tái)查看管理員發(fā)布的公告,按時(shí)間的升序排序。 ( 3) 普通管理員管理 超級(jí)管理員可以對(duì)普通管理員信息進(jìn)行添加以及維護(hù)。對(duì)于一個(gè)菜鳥要進(jìn)行數(shù)據(jù)庫的設(shè)計(jì)苦于肚里無貨只好從強(qiáng)大的百度文庫中搜尋需要的知識(shí),首先是確定需求如何進(jìn)行數(shù)據(jù)庫的表的設(shè)計(jì)。而 ER 圖(即實(shí)體 聯(lián)系圖, Entity Relationship Diagram) ,提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來描述和現(xiàn)實(shí)的概念模型。由于篇幅限制,本節(jié)只列出本系統(tǒng)幾個(gè)比較重要的數(shù)據(jù)表。 ? 管理員 管理員的主要作 用是對(duì)公寓信息進(jìn)行管理,該實(shí)體主要包括管理員賬戶,管理員姓名,管理員電話,所負(fù)責(zé)公寓號(hào),登錄賬戶,登錄密碼,管理員類型,創(chuàng)建時(shí)間登,如圖 46 圖 46 管理員 ER 圖 管理員 id 名字 電話 負(fù)責(zé)公寓號(hào) 登錄賬戶 密碼 管理員類型 創(chuàng)建時(shí)間 基于 Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 13 ? 公寓樓,公寓樓實(shí)體主要包括公寓樓編號(hào),公寓樓名字,對(duì)應(yīng)負(fù)責(zé)人編號(hào),房間總數(shù),創(chuàng)建時(shí)間,如圖 47 圖 47 公寓樓 ER 圖 ? 學(xué)生,學(xué)生可以進(jìn)行本宿舍信息查看以及個(gè)人信息維護(hù),公告查看,添加報(bào)修信 息等操作,學(xué)生實(shí)體主要屬性有:學(xué)號(hào)(登陸賬號(hào)),密碼,姓名,性別,年齡,電話,學(xué)制,入住時(shí)間,所在班級(jí)編號(hào)等如圖 48 為學(xué)生實(shí)體的 ER 圖: 圖 48 學(xué)生 ER 圖 ? 宿舍,宿舍實(shí)體主要包括的屬性有:房間號(hào),所屬公寓樓編號(hào),所屬班級(jí)編號(hào), 可住人數(shù),已住人數(shù),宿舍類型,是否注滿,如圖 49 公寓樓 樓編號(hào) 負(fù)責(zé)人編號(hào) 創(chuàng)建時(shí)間 房間總數(shù) 樓名 學(xué)生 學(xué)號(hào) (賬號(hào) ) 密碼 姓名 性別 年齡 電話 學(xué)制 班級(jí)編號(hào) 入住時(shí)間 基于 Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 14 圖 49 宿舍 ER 圖 ? 班級(jí), 班級(jí)實(shí)體包含的屬性有:班級(jí)編號(hào),班級(jí)名字,學(xué)院名字,負(fù)責(zé)人,負(fù)責(zé)人電話,如圖 410: 圖 410 班級(jí) ER 圖 ? 床位,床位實(shí)體包含屬性主要有:床位號(hào),所屬宿舍號(hào),所屬公寓號(hào),狀態(tài),學(xué)生號(hào),如圖 411: 圖 411 床位 ER 圖 宿舍 房間號(hào) 公寓樓號(hào) 班級(jí) 編號(hào) 可住人數(shù) 已住人數(shù) 宿舍類型 是否注滿 班級(jí) 班級(jí)編號(hào) 班級(jí)名字 學(xué)院名字 負(fù)責(zé)人 負(fù)責(zé)人電話 床位 床位號(hào) 公寓號(hào) 學(xué)生號(hào) 狀態(tài) 宿舍號(hào) 基于 Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 15 ? 宿舍財(cái)物報(bào)修登記,財(cái)物報(bào)修是學(xué)生用戶可以將宿舍物品損壞的情況通過本系統(tǒng)將待修物品信息報(bào)到管理員處進(jìn)行處理,讓宿管安排維修人員進(jìn)行維修。 基于 Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 12 ( 2) 易于程序調(diào)試 數(shù)據(jù)庫表設(shè)計(jì)的合理與否直接影響到程序的開發(fā)效率,表的設(shè)計(jì)不僅要考慮需求還要考慮代碼功能代碼的實(shí)現(xiàn)的簡(jiǎn)易程度。 ( 5) 來訪登記信息維護(hù) 根據(jù)所負(fù)責(zé)宿舍樓的來訪情況進(jìn)行來訪人員以及被訪問人員的信息登記以及信息維護(hù)。 ( 4) 個(gè)人信息維護(hù)。 子系統(tǒng)劃分結(jié)構(gòu)圖 ( 1) 不同用戶登錄流程如圖 42: HTML CSS Ajax Web瀏覽器 MySQL jsp Tomcat javascript Jquery 基于 Web 的高校學(xué)生公寓信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 8 圖 42 登錄 流程圖