基于 JavaWeb 的學院黨費繳費系統
第 1 章緒論
1.1 項目背景
當今互聯網發展及其迅速,互聯網的便利性已經遍及到各行各業,惠及到每一個人,傳統的繳費方式都需要每個人前往繳費點陸續排隊繳費,不僅浪費大量了個人時間,而且也浪費了大量的公共資源,運用繳費系統可以很好的方便繳費用戶在任何時間任何地點繳上費用,非常的便捷,方便!而且管理員也可以很直觀,方便的管理用戶和繳費信息及統計數據。
1.2 項目開發意義
網絡的發展惠及到每一個人,也改變了每個人生活節奏和方式。帶來了大量的便捷,只需一個按鍵,就可以完成以前甚至需要排隊一天才可以完成的事情,本項目開發的學院黨費繳費系統,不僅可以方便用戶及時的繳費,而且也使管理員可以及其方便的管理用戶和直觀的查看用戶繳費信息和數據統計等。
1.3 開發技術及開發環境
本次系統所采用的服務器開發技術是 JSP 以及 MySQL,開發工具為 eclipse,在前端采用了 Bootstrap 前端框架和 jQuery 插件庫。全局采用 AJAX 技術進行通訊修改。
1.3.1JSP
JSP(全稱 JavaServerPages)是由 SunMicrosystems 公司主導創建的一種動態網頁技術標準。JSP 部署于網絡服務器上,可以響應客戶端發送的請求,并根據請求內容動態地生成 HTML、XML 或其他格式文檔的 Web 網頁,然后返回給請求者。JSP 技術以 Java 語言作為腳本語言,為用戶的 HTTP 請求提供服務,并能與服務器上的其它 Java 程序共同處理復雜的業務需求。
1.3.2MySQL
MySQL 是一個關系型數據庫管理系統,由瑞典 MySQLAB 公司開發,屬于 Oracle 旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,在 Web 應用方面,MySQL 是最好的 RDBMS(RelationalDatabaseManagementSystem,關系數據庫管理系統)應用軟件之一。
1.3.3Eclipse
Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發工具(JavaDevelopmentKit,JDK)。
1.3.4Bootstrap
Bootstrap 是美國 Twitter 公司的設計師 MarkOtto 和 JacobThornton 合作基于 HTML、CSS、JavaScript 開發的簡潔、直觀、強悍的前端開發框架,使得 Web 開發更加快捷。Bootstrap 提供了優雅的 HTML 和 CSS 規范,它即是由動態 CSS 語言 Less 寫成。Bootstrap 一經推出后頗受歡迎,一直是 GitHub 上的熱門開源項目,包括 NASA 的 MSNBC(微軟全國廣播公司)的 Breaking News 都使用了該項目。[1]國內一些移動開發者較為熟悉的框架,如 WeX5 前端開源框架等,也是基于 Bootstrap 源碼進行性能優化而來。
1.3.5jQuery
jQuery 是一個快速、簡潔的 JavaScript 框架,是繼 Prototype 之后又一個優秀的 JavaScript 代碼庫(或 JavaScript 框架)。jQuery 設計的宗旨是“writeLess,DoMore”,即倡導寫更少的代碼,做更多的事情。它封裝 JavaScript 常用的功能代碼,提供一種簡便的 JavaScript 設計模式,優化 HTML 文檔操作、事件處理、動畫設計和 AJAX 交互。
第 2 章系統分析
2.1 系統可行性分析
開發一個系統前是需要進行系統可行性分析的,通過可行性分析我們可以知道該系統是否可以受益進而判斷系統是否值得開發,還可以知道系統開發過程中可能存在的問題是否值得去解決進而得知原先設計的系統的模型和目標是否可以實現。
2.1.1 系統技術可行性
本次的學院黨費繳費系統采用了比較實用的 Java 語言、JSP 開發框架和 MySQL 數據庫進行開發。我們在選擇數據庫工具時,關系型數據庫系統是相對成熟的,有很多的數據庫系統,如 SQLServer,Access2003 等采用這種技術。我的設計根據實際情況來選擇的,Eclipse 是 Java 語言常使用的一個集成開發工具,當然其他的也可以,但是我看中是其依賴 JSP 平臺的穩定,安全,便攜性的優點而成為首選的系統開發工具。因為我比較熟悉 MySQL,因此選擇它作為數據庫工具。
2.1.2 系統經濟可行性
系統的開發成本之間的關系,以及新的系統可能是利益之間的權衡,只有在充分考慮了它們之間的關系,我們才能夠考慮系統在經濟上的可行性。本次的學院黨費繳費系統開發基本不需要資金,系統開發只需要在個人筆記本上操作即可,開發軟件都是免費的,只要擁有一臺個人電腦就可以,因此在經濟上是可行的。
2.1.3 系統操作可行性
本次的學院黨費繳費系統用于方便用戶及時、隨時的繳黨費,所以核心功能是繳費,還有就是要方便管理員管理普通用戶和對數據有及時直觀的繳費統計。
2.2 系統需求分析
本次的學院黨費繳費系統需要滿足普通用戶和管理員兩種用戶,對于普通用戶,需要提供注冊、登錄、修改個人信息和繳費等信息;對于管理員,需要滿足對于個人信息的修改、對繳費項目的管理、對普通用戶的管理、對學院的管理等功能。
2.3 系統功能組成
通過對學院黨費繳費系統的需求分析可知道,在開發學院黨費繳費系統的時候應該將系統分為前臺系統和后臺管理系統。
1)學院黨費繳費系統的前臺
對于系統的前臺開發要考慮到一些不太懂電腦操作的游客,所以前臺系統的設計要易于操作。前臺系統的主要功能要實用,應該包括自助注冊、自助登錄、自助修改信息和繳費等功能。
前臺系統模塊如圖 1。
圖 1 前臺系統模塊圖
2)學院黨費繳費系統后臺
學院黨費繳費系統是為管理員提供的管理后臺,需要和普通用戶進行分辨,提供基礎的登錄和信息修改功能,除此之外,還需要添加管理系統,包括但不限于用戶管理、繳費管理、學院管理、信息統計等。
后臺系統管理模塊如圖 2。
圖 2 后臺管理模塊
2.3 系統功能模塊分析
2.3.1 前臺系統功能分析
1)登錄模塊
用戶訪問該站點,默認是未登錄狀態,所以此時需要為用戶提供登錄功能,登錄進系統,然后使用其余功能,是一切功能的前提。
2)注冊模塊
對于注冊模塊,可能會出現新用戶需要訪問,但是沒有自己賬號的,此時就需要提供注冊功能為這些用戶提供注冊賬號的功能。
3)用戶信息修改
對于用戶個人中心,需要為用戶提供自助修改姓名、密碼等個人信息功能方便對用戶的安全性和個性化提高保證。
4)繳費模塊
對于繳費模塊,用戶可以查看當前需要繳費的訂單和歷史已經繳費過的訂單,并可以直接點擊進行繳費。
2.3.2 后臺系統功能分析
1)登錄
管理員與普通用戶共同使用同一個登錄頁面,根據用戶名來判斷是管理員還是普通用戶,借此跳轉到不同的頁面。
2)個人信息模塊
對于個人信息模塊,用于管理員修改自己的基本信息,例如姓名和密碼等,可以有效的保證后臺系統的安全性。
3)繳費管理模塊
對于繳費管理模塊,用于提供給管理員發起繳費訂單,和查看繳費統計等功能,管理員可以自主選擇訂單的標題、金額、按學院篩選等
4)用戶管理模塊
對于用戶管理模塊,用于管理員對普通用戶進行管理,包括對用戶的增加、刪除、按指定規則搜索和修改用戶信息等功能。
5)學院管理模塊
對于學院管理模塊,用于管理員對學院信息進行管理,因為學院不止一個且學生分屬不同的學院,包括對學院的增加、刪除、修改學院名稱和搜索等。
第 3 章系統設計
3.1 系統結構設計
學院黨費繳費系統包括前臺系統和后臺管理系統。前端功能包括用戶信息修改、繳費管理等;后臺包括管理員信息修改、學院信息修改、訂單管理、用戶管理等功能。角色分為普通用戶與管理員。
本系統的系統總體功能結構設計如圖 3。
圖 3 系統總體功能結構
3.2 系統數據庫設計
3.2.1 系統實體圖
在設計數據庫的時候,首先應該知道系統要存儲那些事物的信息,然后再確定這些事物間的相互關系,這些事物就是實體——表示數據庫中描述的現實世界中的對象或概念[6]。
學院黨費繳費系統的實體圖,如圖 4、圖 5、圖 6 和圖 7。
圖 4 用戶圖
圖 5 繳費列表
圖 6 學院信息
圖 7 訂單信息
3.2.2 系統 E-R 圖
E-R 圖是用來描述現實世界的概念模型,也稱為實體-聯系圖,提供了表示實體類型、屬性和聯系的方法[6]。各實體關系聯系圖,如圖 8
圖 8 各實體關系聯系圖
3.2.2 系統數據表設計
本系統創建的 SQL 數據庫名稱為 DataManage。通過對系統功能分析可知,本系統主要包括以下表 1、表 2、表 3 和表 4。
表 1 用戶(user)表
列名稱 | 類型 | 長度 | 主鍵 | 說明 | 允許空 |
Id | int | 11 | yes | 編號 | no |
Username | varchar | 255 | 用戶名 | yes | |
Userid | varchar | 255 | 用戶 ID | no | |
userpwd | varchar | 255 | 用戶密碼 | no | |
usertype | varchar | 255 | 用戶類型 | yes | |
regtime | Datetime | 0 | 注冊時間 | no | |
userphone | varchar | 255 | 用戶手機號 | no | |
balance | int | 11 | 用戶余額 | no | |
classid | int | 11 | 歸屬學院 | no |
表 2 學院信息(class)表
字節名稱 | 類型 | 長度 | 主鍵 | 說明 | 允許空 |
ID | int | 11 | yes | 學院編號 | no |
Classid | int | 11 | 學院 ID | no | |
Classname | int | 255 | 學院名稱 | no |
表 3 繳費信息(works)表
字段名稱 | 類型 | 長度 | 主鍵 | 說明 | 允許空 |
ID | int | 11 | yes | 繳費編號 | no |
title | varchar | 100 | 繳費標題 | yes | |
content | text | 0 | 繳費詳細信息 | yes | |
toclassid | int | 11 | 歸屬學院 ID | no | |
price | Decimal | 10.2 | 繳費金額 | no | |
ctime | Datetime | 0 | 創建時間 | no |
表 4 繳費訂單(detail)表
字段名稱 | 類型 | 長度 | 主鍵 | 說明 | 允許空 |
ID | int | 11 | yes | 訂單編號 | no |
userid | int | 11 | 用戶 ID | no | |
createtime | datetime | 0 | 創建時間 | no | |
status | Int | 1 | 狀態 | no | |
workid | Int | 11 | 繳費編號 | no |
第 4 章系統實現
4.1 系統實現的技術
學院黨費繳費系統采用的是 JSP+ajax 技術,整體邏輯架構如圖 9
圖 8 系統架構
網站訪問時默認訪問 JSP 頁面,經過 JSP 和 HTML 渲染后輸出到瀏覽器端,再與用戶交互后由 js 通過 AJAX 技術與 JSP 中的 servlet 交互,并實時反饋給瀏覽器端。前端采用和 Bootstrap 框架和 jQuery 插件庫。
4.2 用戶系統的實現
學院黨費繳費系統的前臺主要有主頁面(index.jsp)、個人用戶中心頁面(user.jsp)、訂單詳情頁面(detail.jsp)等。
index.jsp 是默認頁面,用于給訪問用戶提供注冊和登錄的功能,之后經過正確驗證后跳轉到個人中心頁面,見圖 9。
圖 9 首頁
個人用戶中心頁面是展示當前登錄用戶的信息等的一個頁面,可以用于用戶查看和修改個人信息,見圖 10。
圖 10 個人信息頁面
訂單信息頁面用于展示當前用戶需要繳納的繳費訂單和歷史已經完成繳費的訂單,見圖 11。
圖 11 用戶訂單
4.3 管理員后臺系統的實施
系統后臺是從管理者的角度設計的。對于首頁模塊,系統根據數據庫表中的 usertype 字段來判斷當前用戶是管理員還是普通用戶,如果是管理員則跳轉到管理員的后臺頁面。此時也會添加標識至 session 存儲。
管理員后臺可以修改當前管理員的個人信息,例如姓名、密碼等,可以有效的保證系統的安全,見圖。
圖 12 管理員個人信息
對于用戶,管理員可以自定義添加用戶(圖 13),搜索指定用戶(圖 14)和修改用戶的信息(圖 15)及刪除指定用戶。
圖 13 管理員新增用戶
圖 14 篩選用戶
圖 15 修改用戶信息
對于學院信息,管理員可以自定義的添加學院(圖 16)、修改學院姓名(圖 17)和刪除指定學院。
圖 16 新增學院
圖 17 修改學院名稱
對于繳費信息,管理員可以發起指定的一次繳費任務(圖 19),自定義的添加任務的標題,詳細介紹和任務需要繳納的金額及要發送給的學院名稱。
圖 18 繳費任務列表
圖 19 新增繳費
4.4 代碼設計
數據庫設計
本次系統對應數據庫進行設計了 4 個基本模型,分別為:user、works、detail、class,其中字段與數據庫一一對應。
Servlet 設計
表 5servlet 表
名稱 | 用處 |
AddClass | 管理員添加學院 |
Adddetail | 管理員發起新繳費 |
ChangeUserInfo | 修改用戶信息 |
DeleteClass | 刪除學院 |
DetailU | 用戶發起繳費 |
GetUserInfo | 獲取用戶信息 |
Login | 登錄 |
Logout | 登出 |
Register | 注冊 |
Upclass | 修改學院信息 |
UpUserInfo | 管理員修改用戶信息 |
頁面設計
頁面文件名稱 | 頁面介紹 |
index.jsp | 首頁,同時也是登錄頁 |
admin.jsp | 管理員信息頁 |
Adduser.jsp | 管理員添加用戶的頁面 |
Admin_class.jsp | 管理員管理學院的頁面 |
Admin_pay.jsp | 管理員管理繳費信息的頁面 |
Admin_user.jsp | 管理員管理用戶的頁面 |
Detail.jsp | 用戶的繳費詳情頁 |
Foot.jsp | 公共腳部 |
Head.jsp | 公共頭部 |
Register.jsp | 注冊頁面 |
User.jsp | 用戶個人中心 |
第 5 章系統測試
系統完成后并不可以直接拿來使用,需要經過測試成功才可以。測試軟件的方法有很多種,但基本可分為黑盒測試和白盒測試兩類。黑盒測試又叫功能測試,用戶是不可見的,對程序員可見。白盒測試又叫性能測試,對所有人都可見。
因用戶所見只是系統的功能,所以本系統采用的測試方法為黑盒測試[11]。此次測試的目的是為了發現系統的功能模塊存在的缺陷。主要測試該系統的功能是否存在不確定的地方或是系統功能是否存在遺漏;數據庫具體操作是否存在錯誤;系統界面是否符合要求等。以下用用戶登錄為例進行登錄功能測試。
測試用例 1:
用戶名輸入 123456,密碼輸入 123456,結果登錄成功,跳轉到用戶頁
測試用例 2:
用戶名輸入 123456,密碼輸入 321,結果登錄失敗。
測試用例 3:
用戶名輸入 10001,密碼輸入 123456,結果登錄成功,并且跳轉到管理員后臺頁面。
通過實踐中的測試,雖然該系統的功能不是很完善,但是該系統的基本功能存在錯誤,測試的基本結果顯示良好。
第 6 章總結
本次開發的學院黨費繳費系統是一個動態網頁,本次開發的學院黨費繳費系統是一個動態網頁,采用了 JSP 作為開發語言。學院黨費繳費系統在設計完成之后進行了一系列的測試,測試結果顯示良好。通過本系統,普通用戶可以自助注冊、登錄、查詢繳費信息并自主發起繳費。管理員可以在管理員專屬頁面查看注冊用戶信息,并且可以自己添加用戶和修改用戶信息,對于繳費信息,管理員也可以自助發起繳費任務。非常的方便且簡潔。
當然,本次的系統并不算非常完善,雖然已經實現了基本的需求,并且運行過程中并無致命缺陷,但是還有許多需要完善和需要改進的地方,比如可以給管理員添加數據統計的圖表數據和導出數據的功能,這次的課程設計是本人首次自己使用 JSP 開發一個完整的系統,由于能力的不足和經驗的缺乏,導致系統功能簡單還有一些不足。不過,我相信,只要平時認真踏實學習編程知識,再通過做項目不斷的積累經驗,將來在開發系統方面我一定會越做越好。
參考文獻
[1]明日科技.JavaWeb 從入門到精通[M].北京:清華大學主板社,2012.
[2]秦琦.便利店庫存管理系統的設計與實現[D].長春:吉林大學,2019.
[3]張國權.JavaWeb 程序設計實戰[M].上海;上海交通大學出版社,2019.
[4]晚空.系統構建[EB/OL].https://www.mmifx.com/?post=73,2020.