基于 JavaWeb+MySQL 的學院黨費繳費系統

基于 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.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91372.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91372.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91372.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LCGL基本使用

LVGC簡介 light video Graphics Library (1)純c與語言編程,將面向對象的思想植入c語言。 (2)輕量化圖形庫資源,人機交互效果好,在(ios Android QT)移植性較好,但是這些平臺對硬件要求較高 lcgc工程搭建 工程源碼的獲取 獲取工程結構 https://github.com/lvgl/lv_po…

嵌入式第十六課!!!結構體與共用體

一、結構體結構體是一種數據類型,它的形式是這樣的:struct 結構體名{ 結構體成員語句1;結構體成員語句2;結構體成員語句3;};舉個例子:struct Student {int id;char name[20];float score…

java web 實現簡單下載功能

java web 實現簡單下載功能 項目結構├── src\ │ ├── a.txt │ └── com\ │ └── demo\ │ └── web\ │ ├── Cookie\ │ ├── download\ │ ├── homework\ │ ├── serv…

虛幻基礎:模型穿模

能幫到你的話,就給個贊吧 😘 文章目錄模型穿模模型之間的阻擋是否正確設置模型是角色的組件:角色的組件不會與場景中其他的物體發生阻擋但可以發生重疊模型穿模 模型之間的阻擋是否正確設置 模型是角色的組件:角色的組件不會與場…

【Linux】linux基礎開發工具(二) 編譯器gcc/g++、動靜態庫感性認識、自動化構建-make/Makefile

文章目錄一、gcc/g介紹二、gcc編譯選項預處理編譯匯編鏈接三個細節三、動靜態庫感性認識動靜態庫的優缺點四、自動化構建-make/Makefile背景知識初步上手Makefilemakefile的推導過程makefile語法一、gcc/g介紹 我們之前介紹了編輯器vim,可以讓我們在linux上linux系統…

CentOS 7 上使用 Docker 安裝 Jenkins 完整教程

目錄 前言 準備工作 系統要求 檢查系統信息 更新系統 安裝Docker 第一步:卸載舊版本Docker(如果存在) 第二步:安裝必要的軟件包 第三步:添加Docker官方倉庫 第四步:安裝Docker CE 第五步:啟動Docker服務 第六步:驗證Docker安裝 第七步:配置Docker用戶權限…

30.【.NET8 實戰--孢子記賬--從單體到微服務--轉向微服務】--單體轉微服務--公共代碼--用戶上下文會話

在前面的文章中,我們會看到使用ContextSession來獲取當前用戶的UserId和UserName。這篇文章我們就一起來看看如何實現ContextSession。 一、ContextSession的實現 我們在公共類庫SP.Common中創建一個名為ContextSession的類,用于獲取當前請求的用戶信息。…

BaseDao

#### 10.1 DAO概念> DAO:Data Access Object,數據訪問對象。 > > Java是面向對象語言,數據在Java中通常以對象的形式存在。一張表對應一個實體類,一張表的操作對應一個DAO對象!>> 在Java操作數據庫時&a…

USRP捕獲手機/路由器數據傳輸信號波形(中)

目錄: USRP捕獲手機/路由器數據傳輸信號波形(上) USRP捕獲手機/路由器數據傳輸信號波形(中) USRP捕獲手機/路由器數據傳輸信號波形(下) 三、雙工通信信號捕獲 3.1 信號接收系統 5805e6Hz&a…

使用 Kiro AI IDE 3小時實現全棧應用Admin系統

Hello, 大家好,我是程序員海軍, 全棧開發 |AI愛好者 | 獨立開發。 之前我是采用Node生態開發的大模型以及MCP Server,大模型開發的生態主要是Python語言,為了更好的學習大模型開發,于是開了新坑。開始學習Python, 以及…

瀏覽器pdf、image顯示

瀏覽器地址欄 pdf data:application/pdf;base64, data:application/pdf;base64,JVBERi0xLjcKJeLjz9MKMjMgMCBvYmoKPDwv image data:image/jpeg;base64, data:image/jpeg;base64,/9j/4Q3fRXhpZgAATU0AKgAAAAgABwE

《Linux運維總結:銀河麒麟V10 SP3啟動docker容器報錯permission denied》

總結:整理不易,如果對你有幫助,可否點贊關注一下? 更多詳細內容請參考:Linux運維實戰總結 一、環境信息 二、背景 1、使用docker啟動一個nginx容器,報錯信息如下: docker: Error response from…

PDF源碼解析

PDF源碼解析打開PDF解析PDF?0. 文件頭關鍵信息解析技術原理圖解文件頭的重要性實際文件結構示例開發者注意事項歷史背景1. 根目錄整體結構關鍵字段解析核心概念解釋實際應用場景完整對象關系圖技術總結2. 頁面樹對象結構關鍵字段解析頁面樹工作原理技術要點總結實際應用3. 圖像…

java開閉原則 open-closed principle

基本知識 1.核心思想:面向抽象編程 2.基本內涵:對修改關閉,對擴展開放 3.要求:盡可能不修改源碼而是增加新功能 例子 以spring5核心原理與30個類手寫實戰中的為例 package com.gupaoedu.vip.design.principle.openclose;/*** Crea…

擁抱智慧物流時代:數字孿生技術的應用與前景

概述 在數字經濟全面推進的當下,物流行業正經歷著前所未有的智能化升級。作為新一代信息技術的重要代表,數字孿生技術正悄然改變著物流的運作方式和決策模式。所謂數字孿生,是指在虛擬空間中創建與現實物流系統高度一致的數字模型&#xff0…

libnest2d-頭文件分析-libnest2d.hpp-幾何類型-策略類型-參數配置

libnest2d 庫的主頭文件,定義了一個用于 二維不規則形狀自動排樣(Nesting) 的C接口。以下是詳細解析:1. 頭文件結構 (1) 防止重復包含 #ifndef LIBNEST2D_HPP #define LIBNEST2D_HPP // ... #endif // LIBNEST2D_HPP確保頭文件只被…

【Docker】部署Docker可視化管理面板Dpanel

一、DPanel 介紹 1.1 DPanel 簡介 DPanel 是一款專為 Docker 設計的可視化管理面板,旨在降低容器、鏡像及相關資源的管理門檻。通過簡潔直觀的圖形化界面,即使是對 Docker 不熟悉的用戶,也能輕松上手,實現容器化應用的高效部署與管…

GCC/G++ + Makefile/make 使用

一、gcc\g編譯器 什么是gcc和g,它們的區別又是什么? gcc編譯器是專門用來編譯C語言的,而g編譯器既可以編譯C語言又可以用來編譯C,但是主要還是用來編譯C。 我們都知道代碼形成可執行程序都是需要經過預處理、編譯、匯編和鏈接這四…

重復文件查找工具:DataSecurity Plus 全面提升企業文件管理效率

企業日常運營經常會出現這樣的場景:員工在文件傳輸、共享與備份過程中,因操作不當或系統設置問題,出現文件重復存儲;跨部門協作時,相同的項目資料可能被多次保存;隨著數據遷移與系統升級,重復文…

【軟件架構】資源池架構設計中的三種主流模式

在資源池架構設計中,三種主流模式——集中式、分布式和混合式資源池——各有其獨特的優勢、劣勢和適用場景。理解它們的區別對于設計高效、可靠和可擴展的系統至關重要。 下面是對這三種模式的詳細分析和比較:集中式資源池 核心概念: 將所有計…